我已经为商店Front开发了一个顶级吧台卡车功能,该功能显示了最新的三个产品,该产品添加到购物车中时,当缓存被禁用时,它可以很好地工作,但是当我启用缓存时,它显示出奇怪的top Cart中的怪异,而在购物车中的怪异产品。

这让我难过:'(

我知道这是由于缓存而发生的。有什么我可以禁用本节的缓存吗?我已经尝试禁用块HTML缓存,现在检查它很棒,但是我发现当禁用块HTML时,该类别平面有未指定的问题。

有帮助吗?

解决方案

你可以试试

    <reference name="needed block">
        <action method="setCacheLifetime"><s>null</s></action>
    </reference>

或者

    <reference name="needed block">
        <action method="setCacheLifetime" />
    </reference>

将其设置为空。

但是最好使用Ajax。

有一篇很好的文章 null 或者 0 意义 http://blog.kyp.fr/make-a-clean-sweep of-commons-magento-cache_lifetime-workarounds-usage-usage-usage in-cache-block-policy/ (链接打破)

其他提示

您可以在getChildHtml()中禁用缓存。这就是签名的样子:

public function getChildHtml($name = '', $useCache = true, $sorted = false)

这应该解决:

echo $this->getChildHtml('block', false);

在特定的XML文件中。说catalog.xml

在该块中,该块中的特定参考块将缓存限制的动作设置为null

catalog.xml的示例

<reference name="right">
    <block type="catalog/navigation" name="catalog.product.cat.related" as="related_cat" template="catalog/navigation/list_cat.phtml" after="-" >
        <action method="unsetData"><key>cache_lifetime</key></action>
        <action method="unsetData"><key>cache_tags</key></action>
    </block>
</reference>
许可以下: CC-BY-SA归因
scroll top