[英]Magento Block Caching tips
好的,所以我最近一直在研究magento中的块缓存。 看起来是加快页面渲染的一种非常不错的方法,但看起来也有点麻烦。
例如,缓存类别块似乎需要大量的混乱才能正确完成。 另外,有很多核心块可能没有利用块缓存。 在这些情况下,开发人员是否必须创建一个模块然后重写所有这些核心块,以便在其上启用块缓存?
还有其他有关阻止该主题的新手使用的提示吗?
块缓存(在大多数情况下)不需要在PHP级别上实现,而可以用XML来实现。 要为已经存在的块启用缓存,您需要打开该块的<reference />
,然后通过<action />
调用设置适当的数据,如下所示:
<reference name="myblock">
<action method="setCacheLifetime"><seconds>1800</seconds></action>
<action method="setCacheKey"><key>my-unique-cache-key</key></action>
</reference>
如果愿意,可以在PHP中完成块缓存。 缓存管理必须写在Block的构造函数中
https://magento2.atlassian.net/wiki/display/m1wiki/How+to+use+HTML+output+cache+in+Magento+1.x
protected function _construct() {
$this->addData(array(
'cache_lifetime' => 3600,
'cache_tags' => array(Mage_Catalog_Model_Product::CACHE_TAG),
'cache_key' => $this->getProduct()->getId(),
));
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.