我試圖重寫Mage_Catalog_Block_Product_Price_Template塊和模板,我的模塊中提供新的,覆蓋塊是確定通過設置配置:Overrriding Magento的模塊和模板
<global>
<blocks>
<catalog>
<rewrite>
<product_price>ABC_PriceX_Block_Price</product_price>
</rewrite>
</catalog>
</blocks>
</global>
而且新的塊被調用
<?php
class ABC_PriceX_Block_Price extends Mage_Catalog_Block_Product_Price_Template {
protected function _construct() {
parent::_construct();
Mage::log('I am in ABC block');
$this->setTemplate('pricex/price.phtml');
Mage::log('Template file is '. $this->getTemplateFile());
}
}
但是我得到一個非常怪異的行爲,所以價格擋犯規了顯示在前端,和所有我在日誌文件中得到的是
2012-09-07T18:05:38+00:00 DEBUG (7): I am in ABC block
2012-09-07T18:05:38+00:00 DEBUG (7): Template file is
而且模板不呈現:
<p>
<?php Mage::log('I am in ABC template'); ?>
</p>
我在這裏失去了一些東西?
注意延長Mage_Core_Block_Template代替Mage_Catalog_Block_Product_Price_Template顯示舊價格模板「前臺\基地\ DEFAULT \模板\目錄/產品/ price.phtml」新塊ABC_PriceX_Block_Price這甚至weirder –