Magento - сохранение данных в порядке во время события adminhtml_sales_order_create_process_data - PullRequest
0 голосов
/ 17 февраля 2012

У меня есть наблюдатель, настроенный для "adminhtml_sales_order_create_process_data".

Я добавил новое поле формы (добавлен пользовательский атрибут) в форму заказа администратора:

app/design/adminhtml/default/default/template/sales/order/create/data.phtml

И затемв моем наблюдателе я фиксирую это поле следующим образом:

$orderRequest = $data->getEvent()->getRequest('order');
$customField = $orderRequest['customfield'];

Мне нужно сохранить в моей БД customField и orderId (но, конечно, в момент, когда мой наблюдатель называется, ордер не был создан, поэтомуЯ не могу получить какой-либо идентификатор)

В идеале я хочу иметь возможность сохранить данные в объекте котировки / ордера с помощью setData (), а затем настроить другого наблюдателя после сохранения котировки / ордера и сохранить его.там нет заказа, но на данный момент нет доступных предложений или объекта заказа!

Есть идеи?Спасибо

1 Ответ

0 голосов
/ 17 февраля 2012

Я не совсем понял ваш вопрос, но что может иметь для вас смысл:

  1. Каждый заказ резервируется для incrementId (orderId?).
  2. Каждый заказ имеет свойсобственный код защиты.
  3. Для сохранения заказа должно быть что-то вроде sales_order_save_after и sales_order_save_before.

ОБНОВЛЕНИЕ 1

Ну, в общемВ настоящее время я вижу одно решение:

С

adminhtml_sales_order_create_process_data

вы должны получить

$observer->getOrderCreateModel()

, который имеет метод

$model->getQuote()

Цитата имеет

$quote->getReservedOrderId()

Что должно вернуть вам order_id.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...