2012-05-08 4 views
2

제품 목록 페이지 및 제품보기 페이지에서 일부 카테고리의 캐싱을 비활성화하고 싶습니다.
나는 이것에 대한 검색을 가지고 있지만 관련 답변을 찾지 못했습니다. 이것이 magento에서 할 수 있습니까? list.phtml 및 view.phtml 파일을 시도했습니다.일부 파일의 캐싱을 magento로 비활성화하십시오.

+0

전체 페이지입니까, 아니면 특정 페이지 일부입니까? 카테고리 페이지의'list.phtml' 부분과 같은가? –

+0

여기 try http://stackoverflow.com/questions/8405232/disable-bypass-magento-full-page-cache-on-single-page –

+0

아니요. list.phtml 파일 만 캐시하고 싶습니다.이 링크가 작동하지 않습니다. 내 –

답변

0

블록을 무시하고 cache_lifetime을 실제로 낮추거나 설정할 수 있습니다.

예를 들어 블록을 로컬 네임 스페이스에 복사 할 수 있습니다. 당신이 탐색 블록에 캐싱을 사용하지 않도록하기를 원한다면 예를 들어, 당신은 이것은 젠토 블록을 재정의합니다

app\code\core\Mage\Catalog\Block\Navigation.php 

app\code\local\Mage\Catalog\Block\Navigation.php 

에 복사하고, 당신이 우리의 변화로 업데이트 허용 할 수 있습니다.

그런 다음이 블록이나 다른 대부분의 블록을 필요에 맞게 캐싱 메커니즘을 변경할 수 있습니다. 다음은이 블록에 대한 캐시를 비활성화하는 예입니다.

protected function _construct() 
{ 
    $this->addData(array(
     'cache_lifetime' => false, // or 1 or something tiny 
    )); 
} 

또는이 같은 것을 추가

public function getCacheLifetime() 
{ 
    return null; // or 1 or what ever.. 
} 
또한 페이지를 저장할 때 고유 식별자로 사용되는 캐시 '키'를 변경할 수 있습니다

, 이것은 템플릿 블록에 대한 기본 캐시 키입니다 :

/** 
* Get cache key informative items 
* 
* @return array 
*/ 
public function getCacheKeyInfo() 
{ 
    return array(
     'BLOCK_TPL', 
     Mage::app()->getStore()->getCode(), 
     $this->getTemplateFile(), 
     'template' => $this->getTemplate() 
    ); 
} 

배열의 각 요소는이 요구 사항에 따라 도움이 될 수 있습니다 변경, 캐시를 생성 할 때 사용되는 고유 키를 생성하기 위해 결합된다. 위에서 볼 수 있듯이 저장소 코드는 저장소의 저장소/언어 및 각 언어/저장소 앞에 메모를 저장합니다. 즉, 캐시 된 페이지로 저장됩니다.

사용중인 블록에 따라 추가 매개 변수를 추가하여 캐시를 더 많거나 적게 타겟팅 할 수 있습니다.

+0

Andrew가 이러한 변경 사항을 어디에서 알려주시겠습니까? 감사. – Muk

+0

나는 내 대답을 당신에게 업데이트 할 것이다 : – Andrew

+0

Andrew, "Blocks HTML output"캐시 때문에 내 탐색에 문제가있다. Magento Enterprise edition을 사용하고있다.이 링크에서 "http : // 내 문제를 볼 수있다. www.magentocommerce.com/boards/viewthread/298493/ " – Muk

관련 문제