2016-06-30 11 views
0

カートに商品を追加する際に価格をカスタマイズするモジュールを作成していますが、機能していません。私は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(私は私のモジュールに固定された値)で表示されますが、このことをされている手順は発生していません。

提案がありますか?

+0

'config.xml'ファイルのフルパスは何ですか? – Prateek

+0

こんにちは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'です。 –

+0

"カートに入れる"機能はデフォルトですか、そこに何か変更しましたか? – Prateek

答えて

0

私は圧縮モジュールを作成し、その完全機能を備えています。あなたのコードスニペットを使用し、モジュールに組み立てました。文法上の問題はあるものの、その作業があるかもしれません。ここからクローンしてくださいhttps://github.com/lapitspublic/TrediMarketplace_PriceUpdate.git

+0

こんにちはLaxman、あなたの答えのためのthx。私はあなたのGitHubからコピーしましたが、それでもまだ動作しています。/。 [製品の例](http://tredi.com.br/testes/index.php/protecao-eletrica/placa-de-control-para-altivar-1100-1100.html)をテスト用Webサイトで入手してください。 商品がカートに追加されたとき、値は「$ 300.00」に変更されません –

+0

あなたが 'die( 'Stop!stop!right!');ポインタが正しい方法に入っていることを確認してください。 –

+0

は援助/トラブルシューティングが必要ですskype –

関連する問題