【发布时间】:2011-08-10 11:49:03
【问题描述】:
我编写了一个非常基本的自定义模块...它只是在页脚中添加了一个小块,以便使用 Media Forge 进行跟踪。它添加的标签会有所不同,具体取决于您是否在产品查看页面上。这工作得很好....直到我打开缓存。现在,如果您刷新缓存并加载产品视图页面,您将获得产品视图页面的正确块。如果您然后转到另一个页面(例如主页),它仍然使用产品视图页面的块。如果我刷新缓存并重新加载主页,它现在正在使用正确的页面,但如果我现在转到产品页面,它在那里使用错误的页面。所以这绝对是一个缓存问题,我只是不明白我应该如何纠正这个问题。
我将在下面粘贴我的文件内容。我期待任何回应!
布局 XML 文件:
<layout version="0.1.0">
<!-- DEFAULT TAG -->
<default>
<reference name="footer">
<block type="core/template" name="mediaforge_footer" as="mediaforge_footer" template="tracking/mediaforge_default.phtml"/>
</reference>
</default>
<!-- PRODUCT VIEW PAGES -->
<catalog_product_view>
<reference name="mediaforge_footer">
<action method="setTemplate"><template>tracking/mediaforge_product.phtml</template></action>
</reference>
</catalog_product_view>
</layout>
我的自定义模块的config.xml:
<config>
<modules>
<VPS_Tracking>
<version>0.1.0</version>
</VPS_Tracking>
</modules>
<frontend>
<layout>
<updates>
<vps_tracking>
<file>vps_tracking.xml</file>
</vps_tracking>
</updates>
</layout>
</frontend>
</config>
将此添加到footer.phtml的末尾:
<?php echo $this->getChildHtml('mediaforge_footer'); ?>
模块定义非常基本,两个模板文件 mediaforge_default.phtml 和 mediaforge_product.phtml 非常简单,所以我不会费心包含它们。
有什么想法吗?
【问题讨论】: