2014-05-20 43 views
2

我已经创建下列文件Magento的观察者不看产品细节

应用/ etc/modules中创建的自定义checkout_cart_save_before观察员在Magento/Cart_Override.xml

<?xml version="1.0"?> 
<config> 
    <modules> 
     <Cart_Override> 
      <codePool>local</codePool> 
      <active>true</active> 
      <depends> 
       <Mage_Contacts /> 
      </depends> 
     </Cart_Override> 
    </modules> 
</config> 

应用程序/代码/本地/车/覆盖的/ etc/config.xml中

<?xml version="1.0"?> 
<config> 
    <global> 
     <models> 
      <cartoverride> 
       <class>Cart_Override_Model</class> 
      </cartoverride> 
     </models> 
     <events> 
      <checkout_cart_save_before> 
       <observers> 
        <cart_override_qty_observer> 
         <type>singleton</type> 
         <class>Cart_Override_Model_Qtyc_Observer</class> 
         <method>checkout_cart_save_before</method> 
        </cart_override_qty_observer> 
       </observers> 
      </checkout_cart_save_before>  
     </events> 
    </global> 
</config> 

应用程序/代码/本地/车/超驰/型号/ Qtyc/Observer.php

class Cart_Override_Model_Qtyc_Observer extends Varien_Event_Observer 
{ 

    public function checkout_cart_save_before($observer) 
    { 
     $action = Mage::app()->getFrontController()->getAction(); 
     $product = $observer->getProduct(); 
     echo "<pre>"; 
     print_r($product); 
     echo "</pre>"; 
     die(); 
    } 

} 

观察员工作正常,当我点击添加到购物车按钮,它会checkout_cart_save_before功能。但我不能使用checkout_cart_save_before功能

$product = $observer->getProduct(); 

我不得不从observer参数添加的东西拿到product details内将以下代码获取从观察者的产品价值?....任何的猜测?

回答

4

看一看Mage_Checkout_Model_Cart::save()该事件被分派:

Mage::dispatchEvent('checkout_cart_save_before', array('cart'=>$this)); 

您可以用$cart->getItems()访问与$cart = $observer->getEvent()->getCart();车数据和报价的项目。