正如我的问题所示,我想使用产品ID删除特定产品的缓存(FULL PAGE CACHE)
。这可能吗?
答案 0 :(得分:0)
每个模型都有cleanModelCache()方法,该方法使用模型标记清理缓存。
请参阅Mage_Catalog_Model_Product :: cleanModelCache()
public function cleanModelCache()
{
$tags = $this->getCacheIdTagsWithCategories();
if ($tags !== false) {
Mage::app()->cleanCache($tags);
}
return $this;
}
Mage::app()->cleanCache($tags);
清除缓存。
如果您只想使用产品ID进行清理,则至少需要加载与该产品相关联的类别,并为方法Mage_Catalog_Model_Product::getCacheIdTagsWithCategories()
构建cacha标记列表
public function getCacheIdTagsWithCategories()
{
$tags = $this->getCacheTags();
$affectedCategoryIds = $this->_getResource()->getCategoryIdsWithAnchors($this);
foreach ($affectedCategoryIds as $categoryId) {
$tags[] = Mage_Catalog_Model_Category::CACHE_TAG.'_'.$categoryId;
}
return $tags;
}