区分Magento中的后端与前端购买

时间:2010-12-31 15:36:51

标签: magento reporting

有没有办法判断订单是通过网站的前端放置还是通过管理面板输入?

3 个答案:

答案 0 :(得分:11)

默认情况下,Magento仅将remote_ip存储在表sales_flat_order中,用于按客户排序的订单(而管理订单设置为空)。

所以试试这个:

if(!empty($order->getRemoteIp()){
  //place online
}
else{
  // place by admin
}

请参阅Programmatically differentiate between admin & customer-placed orders

答案 1 :(得分:8)

每个订单都有store_id,当通过administraction输入时,它将为0(对于'admin'商店)或null。

if ($order->getStoreId()) {
    // was placed via frontend
}

不要使用getStore(),因为它不会始终可靠地返回管理存储对象。

不适用于最新版本的Magento。 (见评论)

答案 2 :(得分:0)

您可以查看is_super_mode值(我只检查引号:$quote->getIsSuperMode()