2012-06-25 7 views
0

Я не хочу применять скидочный купон на продукты, уже дисконтированные i.e на продукты, имеющие специальную цену. Таким образом, я создал событие слушать, как:magento event прослушиватель

<?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);     
    } 
    } 
    } 
?> 

но даже не напечатать привет мир, когда я нажимаю на кнопку применить купон ..plz помочь

ответ

0

Вам не хватает финала из вашего файла config.xml? Возможно, вы просто не вставили его. Вы уверены, что ваш модуль включен? Взгляните на это бесплатное расширение может помочь вам расширения отладки - http://www.magentocommerce.com/magento-connect/magneto-debug-8676.html

0

я имел то же самое issue.I думаю следующее является правильным образом:

<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> 

Может это поможет.