Мне нужен идентификатор приращения из заказа, чтобы создать папку на моем сервере для перемещения туда некоторых файлов, специфичных для заказа, после того, как клиент успешно что-то заказал. Это то, что у меня есть до сих пор:
$chkoutSess = Mage::getSingleton('checkout/session');
$lastOrderId = $chkoutSess->getLastOrderId();
$order = Mage::getModel('sales/order');
$order->load($lastOrderId);
$incid = $order->getData("increment_id");
Я думаю, это можно сделать намного проще, но это работает для меня. У меня проблема с этим в том, что $order
совершенно пуст, когда я заказываю что-то "в первый раз". После этого всегда работает. Поэтому я думаю, что могу получить эти данные из объекта сеанса только тогда, когда есть реальный сеанс... это, конечно, бессмысленно, потому что всегда должен быть «lastOrderId», когда клиент что-то заказывает. Есть ли другой способ просто получить последний заказ и увеличить его из базы данных? Я пробовал несколько вещей, но объекты всегда были пустыми.
Используемая мной функция выполняется сразу после того, как пользователь успешно нажимает кнопку отправки заказа (наблюдатель событий «sales_order_place_after»). Кто-нибудь может помочь мне с этим?
sales_order_place_after
наблюдателю, вы можете использовать его там ($event->getOrder()
). Почему вы пытаетесь получить идентификатор заказа из сеанса? - person Dmytro Zavalkin   schedule 15.11.2011