1
나는 헤더에 여러 메이지 호출을 통해 카탈로그 카테 고리 모델을 얻고 아이템 컬렉션을 얻는다.Magento - 메이지 호출 캐싱
제 문제는 관리자가 HTML 블록 캐싱을 설정해도 내 페이지가 두 번 느린 것 같습니다. 나는 내가 할 수있는 생각은 무엇
는사용하여이었다
$ 캐시 = 마술사 :: getSingleton ('코어/캐시');
$newCarCollection = Mage::getModel('catalog/category')->load(11)->getProductCollection()->setPageSize(6); $newCarCollection = $newCarCollection->getItems(); $cache = Mage::getSingleton('core/cache'); $cache->save($newCarCollection, "car_collection", array("car_cache"), 140); $cache->load("car_collection");
이 단순히 작동하지 않습니다
따라서 같은 마법사에 대한 호출을 캐시 할 수 있습니다.
이렇게해도 될까요, 아니면 방금 만들었습니까?
감사
UPDATE :
function __construct()
{
$this->addData(array(
'cache_lifetime' => 3600,
'cache_tags' => array(Mage_Catalog_Model_Category::CACHE_TAG, Mage_Core_Model_Store_Group::CACHE_TAG),
));
}
@clockworkgeek 그러나, 나는이 header.phtml 파일에서 이러한 호출을했습니다. 이 경우 어떻게 캐시합니까? 호출의 주석 처리를 제거하면 약 3 회의 Mage :: getModel 호출이 발생하고 각 항목에 범주의 제품을 가져 오는 foreach 루프가 있습니다. – terrid25
@ terrid25 - 헤더 블록에 포함 된 블록을 만들 수 있습니다. 헤더는 카트 및 로그인/로그 아웃 링크와 같이 내용이 변경되어 캐시 될 수 없습니다. 블록의 출력은 헤더의 나머지 부분이 아닌 경우 캐시 될 수 있습니다. – clockworkgeek
어떻게하면 되겠습니까? page.xml에 헤더 블록이 표시됩니다. 새 블록 (예 : nav.phtml)을 만든 다음이를 page.xml 파일에 추가해야합니까? – terrid25