我最近在系统(ubuntu)中安装了清漆3.x并将其配置为8080.
现在启用了整页缓存,其工作正常。我只想忽略一些 页面的特定动态块。我怎么能用magento做。我也不是 使用Magentos默认缓存技术,所以我禁用它。还试过模块Terpentine
谢谢&方面
Rajesh Ganjeer
答案 0 :(得分:6)
我使用
完成了这项工作在app / design / frontend / XXX / XXX / layout / local.xml文件中的local.xml中试试这个:
<reference name="block name">
<action method="setEsiOptions">
<params>
<access>private</access>
<flush_events>
<wishlist_item_save_after/>
<wishlist_item_delete_after/>
<sales_quote_save_after/>
</flush_events>
</params>
</action>
</reference>`
或强>
<reference name="block name">
<action method="setEsiOptions">
<params>
<access>private</access>
<ttl>0</ttl>
</params>
</action>
</reference>`
或强>
<reference name="block name">
<action method="setEsiOptions">
<params>
<access>private</access>
<method>ajax</method>
</params>
</action>
</reference>`
或强>
整个页面将忽略缓存,例如。一页模块checkout_onepage_index
<checkout_onepage_index>
<turpentine_cache_flag value="0"/>
</checkout_onepage_index>
我使用模块Nexcessnet Turpentine尝试了这个。它的工作原理
在Turpentine安装后供您参考:
应用程序/设计/前端/碱/默认/布局/ turpentine_esi.xml
非常感谢您的反馈。
参考网站:
http://www.magentocommerce.com/magento-connect/turpentine-varnish-cache.html
https://github.com/nexcess/magento-turpentine
谢谢&amp;此致强>
Rajesh Ganjeer
答案 1 :(得分:1)
答案 2 :(得分:0)
在layout.xml文件中尝试:
<reference name="block name">
<action method="setCacheLifetime"><s>null</s></action>
</reference>
如果要在phtml文件中禁用,则在块名称之后使用false,如下所示:
<?php echo $this->getChildHtml('topLinks',false) ?>
如果你想从php文件中禁用,那么在特定的Block类中使用这段代码:
public function getCacheLifetime() { return null; }
希望这会有所帮助。一切顺利!
答案 3 :(得分:0)
使用Turpentine将是最佳选择。
您要查找的具体链接是: https://github.com/nexcess/magento-turpentine/wiki/ESI_Cache_Policy
细节是:
如果未指定,则默认ttl有点复杂:如果访问是 private,那么如果方法是ajax,则默认ttl为0(不缓存) 否则使用默认的cookie过期时间。如果是访问权限 全局然后使用默认页面TTL(无论方法如何)。
实施方式如下:
<reference name="block name">
<action method="setEsiOptions">
<params>
<access>private</access>
<ttl>0</ttl>
</params>
</action>
</reference>