Magento - очистить кеш на одну категорию - PullRequest
2 голосов
/ 20 сентября 2011

Как я могу очистить кеш для одной категории? Когда FPC (кэш полной страницы) включен, отображение товаров, отсутствующих на складе, отключено, и продукт распродан, на странице категории все еще отображается продукт (без сообщения «нет в наличии»). Когда пользователь нажимает на страницу, продукт по-прежнему отображается в наличии. Я добавил наблюдателя, чтобы очистить кэш продукта, и он разрешил страницу продукта. Тем не менее, я не могу очистить кэш для страниц категорий. Вот что я пробовал до сих пор:

Я пробовал это на основе того, что было в методе 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).

Ответы [ 2 ]

2 голосов
/ 20 сентября 2011

Так что похоже на очистку 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

1 голос
/ 23 сентября 2015

Теги должны быть точными:

Mage::app()->cleanCache(array(Mage_Catalog_Model_Category::CACHE_TAG.'_1234'));

Вы можете найти его в своей системе кэширования или использовать кэширование файловой системы и открыть метафайлы в / var / cache /.

Удачи и счастливого взлома!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...