Я написал простой плагин Magento, который просто перечисляет все подкатегории, которые включены с данным родительским идентификатором.
Пользователь просто выбирает идентификатор родительской категории у администратора, используя созданную мной вкладку плагина.
Чтобы ускорить процесс, я добавил к плагину блочное кэширование, используя следующий код
$this->addData(array(
'cache_lifetime' => 86400,
'cache_tags' => array(Mage_Catalog_Model_Category::CACHE_TAG)
));
Пока это работает хорошо, как будто подкатегория включена / отключена, кеш аннулируется и заменяется. Однако, если я изменяю идентификатор родительской категории в админке, изменения не будут видны, пока весь блок кеша не обновится с помощью system-> управление кешем.
То, что я хотел бы сделать, это иметь метод, при котором, когда пользователь нажимает сохранить в админке, кэш очищается только для этого одного блока, а не обновляет все.
Как бы я поступил об этом? я думаю, какой-то наблюдатель событий на событие сохранения в adminhtml? Однако я не знаю, как это сделать.
Мне интересно, какие мысли / предложения могут быть у других людей.
Большое спасибо
Ян Кэссиди