gpt4 book ai didi

caching - Magento - 清除单个类别的缓存

转载 作者:行者123 更新时间:2023-12-04 06:13:58 24 4
gpt4 key购买 nike

如何清除单个类别的缓存?当FPC(Full page cache)开启,缺货商品显示关闭,产品售罄时,分类页面仍会显示该产品(没有“缺货”消息)。当用户点击页面时,该产品仍列为有货。我添加了一个观察者来清除产品上的缓存,并且已经解决了产品页面。但是,我似乎无法清除类别页面的缓存。这是我迄今为止尝试过的:

我根据 Mage_Catalog_Model_Category::move 方法中的内容进行了尝试:
Mage::app()->cleanCache(array(Mage_Catalog_Model_Category::CACHE_TAG));
但这看起来应该清除所有类别的缓存(当我使用它时似乎不起作用)。我想要一些可以让我清除 category_id=123 缓存的东西。

我也试过:
Mage::app()->cleanCache('catalog_category'.$category_id);
但这似乎也没有做任何事情(注意“catelog_category”是 Mage_Catalog_Model_Category::CACHE_TAG 的值)。

最佳答案

所以看起来要清除你必须使用的FPC:

Mage::app()->getCacheInstance()->cleanType('full_page');

但这会刷新所有 FPC。我的最终解决方案要求我清除 FPC 并使用以下方法重新索引类别:
Mage::getSingleton('index/indexer')->processEntityAction(
$category, Mage_Catalog_Model_Category::ENTITY,
Mage_Index_Model_Event::TYPE_SAVE
);

其中 $category 是 Mage_Catalog_Model_Category 实例

关于caching - Magento - 清除单个类别的缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7480443/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com