Magento 1.9 检查客户是否从某个类别购买
Magento 1.9 check if customer buys from certain category
我正在尝试检查新订单是否包含特定类别的产品,以及它是否将一些参数传递给函数并执行该函数。例如:
我在购物车中添加 2 个产品(一个来自 X 类别)并结帐,放置 order.Now,当我完成购买产品并下订单时,我想执行一个功能order_id 和 products_id 作为参数。
我搜索了整个 google 但没有找到任何东西。你们知道如何创建它吗?
我假设你知道 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;
}
我正在尝试检查新订单是否包含特定类别的产品,以及它是否将一些参数传递给函数并执行该函数。例如:
我在购物车中添加 2 个产品(一个来自 X 类别)并结帐,放置 order.Now,当我完成购买产品并下订单时,我想执行一个功能order_id 和 products_id 作为参数。
我搜索了整个 google 但没有找到任何东西。你们知道如何创建它吗?
我假设你知道 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;
}