Magento 1.9检查客户是否从某些类别购买

时间:2015-02-11 09:21:13

标签: magento magento-1.9.1

我试图检查新订单是否包含某个类别的产品,以及是否确实将某些参数传递给某个函数并执行该函数。例如:

我在购物车中添加了2个产品(一个来自X类)和结帐,下订单。现在,当我完成购买产品并下订单时,我想执行一个order_id和products_id的函数PARAMS。

我已经整个谷歌,并没有找到任何东西。你们有什么想法可以创造出来吗?

1 个答案:

答案 0 :(得分: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;
}