2015-02-11 59 views
0

我试图检查一个新订单是否具有某个类别的产品,以及它是否将某些参数传递给某个函数并执行该函数。例如:Magento 1.9检查客户是否从某个类别购买

我在购物车中添加了2件商品(一个来自X类别)和结帐,下单。现在,当我完成购买产品和订单时,我想用order_id和products_id作为参数。

我已经截取了整个谷歌,并没有发现任何东西。你们有没有任何想法?如何创建?

+0

看看这一个http://stackoverflow.com/questions/9510786/get-users-who-has-bought-this-product-magento – 2015-02-11 09:39:13

+0

我不认为这有帮助,但无论如何谢谢 – John 2015-02-11 10:21:47

回答

1

我假设你是知道的event&observer

因此,你可以在下面的例子中使用sales_order_place_after事件来检查,如:

<sales_order_place_after> 
    <observers> 
     <b4u_order_observer> 
      <type>singleton</type> 
      <class>Mshop_B4u_Model_Observer</class> 
      <method>after_order_placed</method> 
     </b4u_order_observer> 
    </observers> 
</sales_order_place_after> 

需要编写以下代码observer(mshop -> b4u -> model -> Observer.php)

public static function after_order_placed($observer) { 
    $event = $observer->getEvent(); 
    $order = $event->getOrder(); 
    $order_no = (string) $order->getRealOrderId(); 
    $order->loadByIncrementId($order_no); 
    $items = $order->getAllVisibleItems(); 

     foreach($items as $i): 
     // done your code here 
     endforeach; 
} 
+0

看来这是解决方案,让我检查一下 – John 2015-02-11 10:22:17

相关问题