私は立ち往生しています。これで一日中騒ぎ続けている。私にとってこれはうまくいくはずですが、そうではなく、エラーをマジェンタのエラーログに出力していないようです。Magentoブロックを無効にする
私がしようとしたのは、単にCatalog/Block/Product.phpのgetPriceHtml()関数をオーバーライドすることでした。モジュールは、[詳細設定]タブからシステム設定を経てアクティブになります。
アプリ/コード/ローカル/ブライアン/ Pricefixの/ etc/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 /モジュール内のマイ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を出力する
何か提案がありますか?私は数時間や研究をしましたが、これはブロックを拡張する正しい方法と思われるので、何が起こっているのか分かりません。エラー出力の欠如はイライラしています。
ありがとうございました。
Mage_Catalog_Block_Productは、拡張しようとしている元のファイルのクラス名です。これはapp/code/core/Mage/Catalog/Block/Product.phpです。 – bonez
私はそれを知っています。私はこのブロックがフロントエンドで使われていないと言っていました。それが呼ばれていることをどうやって確かめることができますか? – Sergey
ああ、製品ページのテンプレートファイル、特にgetPriceHtml()は、app/design/frontend/base/template/catalog/product/list.phtml – bonez