2012-03-20 2 views
1

Я застрял. Был весь день с ним. Для меня это выглядит так, как будто это должно работать, но это не так, и не выводит никаких ошибок в журнал ошибок magento.Переопределение блока Magento

Что я пытался сделать, это просто переопределить функцию getPriceHtml() в каталоге/Block/Product.php. Модуль активен с вкладки «Дополнительно» через конфигурацию системы.

Мой config.xml в приложение/код/​​местные/Brian/Pricefix/и т.д./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> 

Мой Brian_Pricefix.xml в приложение/и т.д./модулей:

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

Мой product.php в приложение/код/​​местные/Brian/Pricefix/Каталог/Block/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 ng или outputting 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 - это имя класса исходного файла, который я пытаюсь расширить, - это приложение/код/​​ядро ​​/ Mage/Catalog/Block/Product.php – bonez

+0

Я это знаю. Я хотел сказать, что этот блок не используется во внешнем интерфейсе. Как вы можете быть уверены, что это называется? – Sergey

+0

Ах используется для файлов шаблонов страниц продукта, а конкретно - getPriceHtml() используется в приложении/дизайне/интерфейсе/базе/шаблоне/каталоге/продукте/list.phtml – bonez

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