如何在会话和非会话访问中缓存magento中的cms块?

问题描述:

对于Magento的企业网站,我有一个CMS网页(主页),其中包括代码,“我-products.phtml”一定的块,使用CMS的页面内容中的以下方法:如何在会话和非会话访问中缓存magento中的cms块?

{{block type="catalog/product_list" template="catalog/product/my-products.phtml"}} 

问题是这个块真的很慢,需要缓存。包含CMS页面缓存给非会话访问者,但是一旦用户登录,页面和包含的块似乎根本不会被缓存。

块中没有会话特定的代码,所以我想知道如何确保它即使在用户登录时也被缓存?

您需要创建Mage_Catalog_Block_Product_List的后代,并将其别名用于块类型,如“yourmodule/product_list”而不是“catalog/product_list”。

请按照these instructions启用缓存,第一个示例正是您需要显示某些产品相关数据,但使用更长的使用寿命以提高效率。

+0

我试过这种方法,我看到这个块的注册用户有一些性能增益,所以它似乎是一个很好的解决方案。非常感谢,clockworkgeek。 – user672201 2011-03-23 05:43:14