Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在magento中缓存cms块以进行会话和非会话访问?_Php_Caching_Magento - Fatal编程技术网

Php 如何在magento中缓存cms块以进行会话和非会话访问?

Php 如何在magento中缓存cms块以进行会话和非会话访问?,php,caching,magento,Php,Caching,Magento,对于Magento企业网站,我有一个CMS页面(主页),其中包含特定代码块“my products.phtml”,在CMS页面内容中使用以下方法: {{block type="catalog/product_list" template="catalog/product/my-products.phtml"}} 问题是这个块非常慢,需要缓存。包含CMS的页面是为非会话访问者缓存的,但一旦用户登录,页面和包含的块似乎根本不会被缓存 块中没有特定于会话的代码,因此我想知道如何确保即使用户登录也能缓

对于Magento企业网站,我有一个CMS页面(主页),其中包含特定代码块“my products.phtml”,在CMS页面内容中使用以下方法:

{{block type="catalog/product_list" template="catalog/product/my-products.phtml"}}
问题是这个块非常慢,需要缓存。包含CMS的页面是为非会话访问者缓存的,但一旦用户登录,页面和包含的块似乎根本不会被缓存


块中没有特定于会话的代码,因此我想知道如何确保即使用户登录也能缓存它?

您需要创建
Mage\u Catalog\u block\u Product\u List
的子代,并将其别名用于块类型,如“yourmodule/Product\u List”而不是“Catalog/Product\u List”


为了启用缓存,给出的第一个示例正是显示一些与产品相关的数据所需的,但使用更长的生存期以提高效率。

我尝试了这种方法,我发现注册用户的此块性能有所提高,因此这似乎是一个很好的解决方案。非常感谢你,钟表匠。