Список бестселлеров Magento не обновляется с включенным кешем - PullRequest
1 голос
/ 21 сентября 2010

В течение некоторого времени я показываю список самых продаваемых продуктов в моем нижнем колонтитуле, используя код ниже. Однако я только что понял, что, когда кеш включен, список не обновляется, пока я не обновлю кеш. Есть ли способ обойти это?

$_productCollection = Mage::getResourceModel('reports/product_collection')
->addAttributeToSelect('name')
->addAttributeToFilter('visibility', $visibility)
->addOrderedQty()
->setOrder('ordered_qty', 'desc')
$_productCollection->load();}

Ответы [ 2 ]

2 голосов
/ 09 марта 2012

Если вы проверите, как блок нижнего колонтитула использует кэш в

app/code/core/Mage/Page/Block/Html/Footer.php 

, вы заметите, что его время жизни кэша установлено на неопределенное значение, поэтому блоки, которые должны отображать динамическую информацию в качестве дочерних блоковблока нижнего колонтитула не лучшая стратегия.Вместо того, чтобы отключать или уменьшать кэширование блока нижнего колонтитула, лучшей стратегией является рассмотрение перемещения блока бестселлера за пределы блока нижнего колонтитула, чтобы нижний колонтитул мог продолжать кэшироваться.

Лучше добавить пользовательский блок до того, какнижний колонтитул и используйте CSS, чтобы расположить ваших бестселлеров там, где вы хотите.

Кроме того, хорошим местом для изучения того, как реализовать собственное блочное кэширование, является

app/code/core/Mage/Catalog/Block/Product/New.php 

Статья вики, связанная выше, -хорошо, но несколько неполноMagento предоставляет специальный метод для определения вашего ключа кеша getCacheKeyInfo ().

1 голос
/ 22 сентября 2010

Вам нужно посмотреть на отключение кэша для блока нижнего колонтитула - или, по крайней мере, понизить его значение достаточно низко.

Вот хороший пример того, как это сделать здесь: http://www.magentocommerce.com/wiki/5_-_modules_and_development/block_cache_and_html_ouput

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