2011-01-27 3 views
0

Мне было интересно, если бы не было определения, был ли заказ размещен через веб-сайт или через админ-админ (администратор)?Magento - Определить, был ли заказ сделан через admin

А также (необязательно) зарегистрированное имя администратора, которое разместило заказ?

Что-то вроде:

$orderId = 100000010; 
$order = Mage::getModel('sales/order')->loadByIncrementId($orderId); 
$location = $order->getWhereTheOrderWasPlaced(); 
$userThatDidTheOrder = $order->getUserThatDidTheOrder(); 

Я сделал get_class_methods() вызов на порядка $ объекта, но ничего не выскакивает на меня.

Спасибо!

+0

Я имел взгляд, но я ничего не могу найти ни. Возможно ли использовать IP-адрес заказа? Он не может быть установлен, когда администратор разместил заказ. – Nick

+0

Возможный дубликат [Дифференциация бэкендов и внешних транзакций в Magento] (http://stackoverflow.com/questions/4570909/differentiating-backend-vs-frontend-purchases-in-magento). (Ник прав подозревать IP-адрес) – clockworkgeek

+0

Отлично. Спасибо за головы. – sulman

ответ

1

По умолчанию пурпурного хранить только remote_ip в таблице sales_flat_order для того, чтобы это место клиентом (и порядок администратора является недействительным).

Так что попробуйте

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

См Programmatically differentiate between admin & customer-placed orders

Смежные вопросы