カートに商品を追加する際に価格をカスタマイズするモジュールを作成していますが、機能していません。私はcheckout_cart_product_add_after
メソッドを使用しています。私は続いMagento - カスタマイズされたモジュールが動作しない
ステップ:
1)/app/etc/modules
でXML(TrediMarketplace_PriceUpdate
)を作成し、すでにconfig.xmlが作成)Magentoのインターフェース(System > Configuration > Advanced > Advanced
)
2に現れるいます:
<?xml version="1.0"?>
<config>
<modules>
<TrediMarketplace_PriceUpdate>
<version>0.0.1</version>
</TrediMarketplace_PriceUpdate>
</modules>
<global>
<models>
<tredimarketplace_priceupdate>
<class>TrediMarketplace_PriceUpdate_Model</class>
</tredimarketplace_priceupdate>
</models>
<events>
<checkout_cart_product_add_after>
<observers>
<tredimarketplace_priceupdate>
<class>tredimarketplace_priceupdate/observer</class>
<method>priceUpdate</method>
</tredimarketplace_priceupdate>
</observers>
</checkout_cart_product_add_after>
</events>
</global>
</config>
ファイルは次のパスでホストされています。/app/code/local/TrediMarketplace/PriceUpdate
3)オブザーバーを作成します.PHP:
<?php
class TrediMarketplace_PriceUpdate_Model_Observer{
public function priceUpdate(Varien_Event_Observer $observer){
// Get the quote item
$item = $observer->getQuoteItem();
// Ensure we have the parent item, if it has one
$item = ($item->getParentItem() ? $item->getParentItem() : $item);
// Load the custom price
$price = "300.00";
// Set the custom price
$item->setCustomPrice($price);
$item->setOriginalCustomPrice($price);
// Enable super mode on the product.
$item->getProduct()->setIsSuperMode(true);
}
}
?>
ファイルは、このパスでホストされている。これにより/app/code/local/TrediMarketplace/PriceUpdate/Model
は私の期待がカートに追加されたすべての製品が$ 300.00(私は私のモジュールに固定された値)で表示されますが、このことをされている手順は発生していません。
提案がありますか?
'config.xml'ファイルのフルパスは何ですか? – Prateek
こんにちはPrateek。 'config.xml'のフルパスは'/public_html/testes/app/code/local/TrediMarketplace/PriceUpdate/etc/config.xml'です。 'Observer'のフルパスは'/public_html/testes/app/code/local/TrediMarketplace/PriceUpdate/Model/Observer.php'です。 –
"カートに入れる"機能はデフォルトですか、そこに何か変更しましたか? – Prateek