如何在会话和非会话访问中缓存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启用缓存,第一个示例正是您需要显示某些产品相关数据,但使用更长的使用寿命以提高效率。
我试过这种方法,我看到这个块的注册用户有一些性能增益,所以它似乎是一个很好的解决方案。非常感谢,clockworkgeek。 – user672201 2011-03-23 05:43:14