Есть ли способ узнать, был ли заказ размещен через интерфейс веб-сайта или введен через административную панель?Дифференцирование бэкэнд-виртуализации в Magento
ответ
По умолчанию, Magento хранит только remote_ip
в таблице sales_flat_order
для заказа, который является местом клиента (в то время как для заказа администратора установлено значение null).
Так попробуйте это:
if(!empty($order->getRemoteIp()){
//place online
}
else{
// place by admin
}
Посмотреть ответ Programmatically differentiate between admin & customer-placed orders
В каждом заказе есть store_id
, при вводе через администрацию он будет либо 0 (для магазина 'admin'), либо null.
if ($order->getStoreId()) {
// was placed via frontend
}
Не используйте getStore()
как это не всегда будет возвращать администратор магазина объекта надежно.
Не работает с последними версиями Magento. (См комментария)
clockworkgeek является правильным. Я добавлю еще один способ, который в основном полезен для администраторов, которые не являются программистами. Если вы посмотрите на заказ на экране администрирования (Admin -> sales -> Orders), он будет иметь поле «Размещено от IP», если заказ был создан из внешнего интерфейса, но если это было сделано с помощью экранов бэкэнда администратора, там не будет. – shaune
@sdek - Это хороший совет, я раньше этого не знал. – clockworkgeek
Не работает с последними версиями Magento. Вы должны выбрать идентификатор магазина перед тем, как создать заказ в бэкэнде администратора. Так что store_id всегда будет иметь значение, отличное от 0. –
Вы можете проверить значение is_super_mode
(я только проверить на цитатах: $quote->getIsSuperMode()
)
Где вы нашли это поле? Я не могу найти его для Magento 1.7 – Alex
- 1. Численное дифференцирование
- 2. Дифференцирование строк в python
- 3. Дифференцирование данных в файле C
- 4. Дифференцирование элементов строк в Prototype
- 5. Неявное дифференцирование Sympy
- 6. Неявное дифференцирование со Scilab?
- 7. Дифференцирование нескольких веб-сайтов
- 8. Дифференцирование файлов APK?
- 9. Дифференцирование Математика Пределы
- 10. Дифференцирование между нажатыми ссылками?
- 11. Класс дифференцирование и доступность
- 12. Дифференцирование изменений в магазине в Flux?
- 13. Rails: дифференцирование постановки из производства
- 14. MYSQL - Дифференцирование между именами таблиц
- 15. Неявное дифференцирование с Python 3?
- 16. Cmake - Дифференцирование символов среди целей
- 17. Дифференцирование строки/Int User Input
- 18. Compute сложные математические (интегрирование, дифференцирование, ...)
- 19. Дифференцирование кортежа из кортежа кортежей
- 20. Автоматическое дифференцирование в C# и F #
- 21. Успешно разобран символическое дифференцирование в C++
- 22. Python - дифференцирование изображения в направлении X
- 23. дифференцирование перетаскивания и выбора в Java JTextArea
- 24. матричное детерминантное дифференцирование в тензорном потоке
- 25. Дифференцирование значений с общими именами в запросе
- 26. String, Int дифференцирование и петля в Python
- 27. численное дифференцирование и интеграция в Java
- 28. Python: Дифференцирование между векторами строк и столбцов
- 29. Дифференцирование XBRL, XML, CSV и JSON
- 30. Как сделать автоматическое дифференцирование на hmatrix?
Спасибо за хороший крюк +1 от меня @RS –
Я пытаюсь представить, что если magento был установлен на облачном узле, заказ, размещенный заказчиком или администратором, будет иметь удаленный IP-адрес , Я стою исправлен – burntblark