Проверить настройки Skip to content

Отключить кеширование для блока в Magento

Как известно в Magento есть кеширование(cache). Magento кеширует содержимое(контент) блоков.
К примеру блоки header(шапка) и footer(подвал) кешируются в Magento постоянно.
Бывает что требуется в блок footer вставить контент который будет по разному показываться для домашней страницы и для каталога товаров Magento.

Но блок будет кешироватся. Чтобы работало, надо отключить кеширование Magento. Но отключить все кеширование в Magento, не очень хорошо.
Попробуем отключить кеш(cache) Magento только для блока Footer.

Ниже простой пример отключения кеширования для блока Footer

  1. Скопируем файл app/code/core/Mage/Page/Block/Html/Footer.php в app/code/local/Mage/Page/Block/Html/Footer.php
  2. Откроем app/code/local/Mage/Page/Block/Html/Footer.php и отредактируем.
  3. В функции protected function _construct() закоментируем $this->addData() и сохраним.
protected function _construct()
{
    /*$this->addData(array(
    'cache_lifetime'=> false,
    'cache_tags'    => array(Mage_Core_Model_Store::CACHE_TAG, Mage_Cms_Model_Block::CACHE_TAG)
    ));*/ 
    //disable cache for Footer
}

Также  можно просто отключить кеш через Layout XML

<reference name="footer">
    <action method="setCacheLifetime"></action>
</reference>

Magento 1.*
  • http://[email protected] romkachaos

    еще можно через xml — action для блока
    <action method=“setCacheLifetime“0
    0