2012-01-31 140 views
1

我已经看到了关于如何在Magentocommerce.com上缓存块输出的wiki页面,并阅读了关于如何去做的一篇文章。但是,我想缓存未捆绑到产品中的模块的输出。Magento:我如何缓存模块输出?

我的模块所做的是加载属性中的颜色条目,对它们进行一些数学运算,以便通过tint/hue/brightness等进行排序,然后输出颜色选择器(可用于产品页面)。

我有其他模块,也可以受益于缓存控制,这些都不是特别绑定到产品。因此,在教程,那里是这样的:

'cache_tags'     => array(Mage_Catalog_Model_Product::CACHE_TAG), 'cache_key'      => $this->getProduct()->getId()

做我的东西在任何旧号码?

http://inchoo.net/ecommerce/magento/magento-block-caching/

http://www.magentocommerce.com/wiki/5_-_modules_and_development/block_cache_and_html_ouput

回答

2

您应该使用自定义缓存标签和关键

'cache_tags'  => array(Yourpackage_Yourmodule_Model_Yourmodel::CACHE_TAG) 
'cache_key'  => '<your cache key here>' 

如果我给你的权利,你的块输出始终是相同的,这就是为什么你可以使用属性代码作为缓存标签和属性ID作为关键字(例如)。

+0

谢谢。我让我的内存缓存输出单独密钥,一切似乎都很好: > 30 END <30 GET alphanumericPINKXYLOPHONES > 30发送键alphanumericPINKXYLOPHONES > 30 END 我不得不把新的“构造”声明“块'输出缓存,我也必须在'模型'中放入预定义的'CACHE_TAG'常量。我不认为'缓存键'真的需要,但它是缓存! – 2012-01-31 13:05:04