2012-03-20 2 views
1

막혔습니다. 이 하루 종일 장난 해요. 나에게 이것은 작동해야만하는 것처럼 보이지만 그렇지 않다. 그리고 magento 에러 로그에 에러를 출력하지 않는다.Magento 블록을 재정의하십시오.

내가 시도한 것은 단순히 Catalog/Block/Product.php의 getPriceHtml() 함수를 재정의했습니다. 모듈은 시스템 구성을 통해 '고급'탭에서 활성화됩니다.

응용 프로그램/코드/지역/브라이언/Pricefix/등의 내 config.xml에/config.xml 파일은 :

<config> 
    <modules> 
     <Brian_Pricefix> 
      <version>1.0</version> 
     </Brian_Pricefix> 
    </modules> 
    <global> 
     <blocks> 
      <catalog> 
       <rewrite> 
        <product>Brian_Pricefix_Catalog_Block_Product</product> 
       </rewrite> 
      </catalog> 
     </blocks> 
    </global> 
</config> 

응용 프로그램은/etc/modules에 내 Brian_Pricefix.xml :

<config> 
    <modules> 
     <Brian_Pricefix> 
      <active>true</active> 
      <codePool>local</codePool> 
     </Brian_Pricefix> 
    </modules> 
</config> 

응용 프로그램/코드/지역/브라이언/Pricefix가/카탈로그 내 Product.php/블록/Product.php

class Brian_Pricefix_Catalog_Block_Product extends Mage_Catalog_Block_Product 
{ 
    public function getPriceHtml($product) 
    { 
     Mage::log("IM IN YOUR MODULEZ"); 
     $this->setTemplate('catalog/product/price_fix.phtml'); 
     $this->setProduct($product); 
     return $this->toHtml(); 
    } 

} 

새로운 모듈이 그 로그인하지 anythi를 참가 또는 price_fix.phtml 출력

제안 사항? 몇 시간이나 연구를했는데 이것이 블록을 확장하는 올바른 방법 인 것처럼 보입니다. 그래서 무슨 일이 일어나고 있는지 잘 모르겠습니다. 오류 출력의 부족은 실망 스럽습니다.

감사합니다.

답변

4

Mage_Catalog_Block_Product은 (는) 어디에도 사용되지 않습니다.
catalog.xml에는 주로 Mage_Catalog_Block_Product_View 또는 Mage_Catalog_Block_Product_List 호출이 포함됩니다. 구성이 정상적으로 보입니다.
다른 블록을 재정의하십시오. 테스트중인 페이지를 정확하게 표시 할 수 있습니까?

+0

Mage_Catalog_Block_Product는 확장하려고하는 원본 파일의 클래스 이름입니다. app/code/core/Mage/Catalog/Block/Product.php – bonez

+0

알겠습니다. 나는이 블록이 프론트 엔드에서 사용되지 않는다고 말하고 싶었다. 어떻게 부름을 받았는지 확신 할 수 있습니까? – Sergey

+0

아 제품 페이지 템플릿 파일에 사용되는 - 특히 getPriceHtml()은 app/design/frontend/base/template/catalog/product/list.phtml – bonez

관련 문제