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

发布于 2024-10-25 02:58:50 字数 315 浏览 3 评论 0原文

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

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

问题是该块确实是真的速度慢,需要缓存。包含的 CMS 页面会为非会话访问者缓存,但一旦用户登录,该页面和包含的块似乎根本不会被缓存。

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

For a Magento enterprise site, I have a CMS page (home page) which includes a certain block of code, 'my-products.phtml', using the following method within the CMS page content:

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

The problem is that this block is really really slow and needs to be cached. The containing CMS page is cached for non-sessioned visitors, but once a user logs in, the page and the included block don't seem to be cached at all.

There's no session-specific code within the block so I'm wondering how to ensure that it is cached even when a user is logged in?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

七月上 2024-11-01 02:58:50

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

按照这些说明启用其缓存,给出的第一个示例正是您所需要的显示一些产品相关数据,但使用更长的生命周期来提高效率。

You need to create a descendant of Mage_Catalog_Block_Product_List and use it's alias for the block type, like "yourmodule/product_list" instead of "catalog/product_list".

Follow these instructions to enable it's cache, the first example given is exactly what you need to display some product related data, but use a larger lifetime for more efficiency.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文