有没有办法判断订单是通过网站的前端放置还是通过管理面板输入?
答案 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()
)