2012-01-31 3 views
1

Я видел страницу wiki о том, как кэшировать вывод блока на Magentocommerce.com и читать статью о том, как это сделать. Однако я хочу кэшировать вывод модуля, который не привязан к продукту.Magento: Как кэшировать вывод модуля?

Что делает мой модуль, загружает записи цвета в атрибут, выполняет некоторые математические операции, сортируя их по оттенку/оттенку/яркости и т. Д., А затем выводит набор цветов (который можно использовать на страницах продукта).

У меня есть другие модули, которые также могут извлечь выгоду из управления кешем, опять же они не привязаны к продукту. Таким образом, в учебниках, где есть это:

'cache_tags'     => array(Mage_Catalog_Model_Product::CACHE_TAG), 'cache_key'      => $this->getProduct()->getId()

я просто материал в любых старых номеров?

http://inchoo.net/ecommerce/magento/magento-block-caching/

http://www.magentocommerce.com/wiki/5_-_modules_and_development/block_cache_and_html_ouput

ответ

2

Вы должны использовать тег пользовательского кэша и ключ

'cache_tags'  => array(Yourpackage_Yourmodule_Model_Yourmodel::CACHE_TAG) 
'cache_key'  => '<your cache key here>' 

Если я вас правильно, ваш выход блока всегда одинакова, поэтому вы можете использовать код атрибута как кеш-тег и идентификатор атрибута в качестве ключа (например).

+0

Thankyou. Я получаю мой уникальный ключ в кэше памяти вывода, так что все кажется хорошо: > 30 END <30 прибудете alphanumericPINKXYLOPHONES > 30 клавишу посыла alphanumericPINKXYLOPHONES > 30 END я должен был поставить новый «построить» заявление, в ' Блокировать 'для вывода, чтобы получить кеширование, я также должен был установить предопределенную константу' CACHE_TAG 'в' Model '. Я не думаю, что «кэш-ключ» действительно нужен, но он кэшируется! –

Смежные вопросы