0

すでに割引されている商品、つまり特別価格の商品には割引クーポンを適用したくありません。だから私は次のように聞くイベントを作成しました:

<?xml version="1.0" ?>
<config>
<modules>
    <Tweett_Fashionn>
        <version>0.1.0</version>
    </Tweett_Fashionn>
</modules>
<global>
    <events>
        <salesrule_validator_process>
            <observers>
                <Tweett_Fashionn_Hook>
                    <type>singleton</type>
                    <class>Tweett_Fashionn_Model_Observer</class>
                    <method>specialpricediscount</method>
                </Tweett_Fashionn_Hook>
            </observers>
        </salesrule_validator_process>
    </events>
</global>

およびオブザーバーファイルは

<?php
 class Tweett_Fashionn_Model_Observer extends Varien_Event_Observer{
public function __construct(){
    echo "<p style='color:red'>Hello World .. </p>";
}
public function specialpricediscount($observer){
    $item=$observer['item'];
    $_product = Mage::getSingleton('catalog/product')->load($item->getProductId());           
    if($_product->getSpecialPrice()>0 ){
        $result = $observer['result'];
        $result->setDiscountAmount(0);                
    } 
   }
   }
 ?>

ただし、クーポンの適用ボタンをクリックしても、HelloWorldは印刷されません。..plzヘルプ

4

2 に答える 2

0

私は同じ問題を抱えていました。以下が正しい方法だと思います:

 <salesrule_validator_process>
        <observers>
            <Namespace_Modulename> // your namespace_modulename
                <type>model</type> //change singleton to model
                <class>Tweett_Fashionn_Model_Observer</class>
                <method>specialpricediscount</method>
            </Namespace_Modulename>
        </observers>
    </salesrule_validator_process>

これがあなたを助けますように。

于 2015-01-19T10:36:51.630 に答える
0

config.xml の末尾がありませんか? 貼り付けていないだけかもしれません。モジュールが有効になっていることを確認しましたか? 拡張機能のデバッグに役立つこの無料の拡張機能をご覧ください - http://www.magentocommerce.com/magento-connect/magneto-debug-8676.html

于 2012-07-20T18:04:43.243 に答える