Я создал собственный модуль, который позволит мне добавлять несколько магазинов и управлять ими. Мне удалось добавить пользовательский способ оплаты, и когда пользователь выбирает его, появляется выпадающий список, который показывает все доступные магазины. Я добавил установочный скрипт, который добавляет столбец в следующие базы данных: sales_flat_order
, sales_flat_order_grid
а также sales_flat_order_quote
, Колонка называется store_pickup_id
, То, что я пытаюсь сделать, это сохранить коммерческое предложение и заказ на продажу, сохранить идентификатор магазина, но я не могу этого сделать. Я создал следующий наблюдатель, который расширяет sales_quote_save_after
событие
public function saveCustomData(Varien_Event_Observer $observer) {
$event = $observer->getEvent();
$order = $event->getOrder();
$quote = $event->getQuote();
$post = Mage::app()->getFrontController()->getRequest()->getParams();
if (isset($post["store_pickup"])) {
$quote->setStorePickupId($post["store_pickup"]);
}
Mage::log("Store pickup id: ".$quote->getStorePickupId());
return $this;
}
Когда я делаю тестовую транзакцию, я вижу в sales_flat_quote
что store_pickup_id
устанавливается, поскольку он сохраняет между шагами. Однако при обработке заказа в ту же таблицу добавляется другая запись, но без store_pickup_id
и порядок также не может иметь store_pickup_id
задавать.
Кто-нибудь знает, как я могу получить эти пользовательские данные для сохранения в цитате и порядке?
Я нашел решение, оказалось, что мне не хватало следующих ключевых строк в моей конфигурации, которые преобразуют мои пользовательские данные в порядок
<fieldsets>
<sales_convert_quote>
<store_pickup_id>
<to_order>*</to_order>
</store_pickup_id>
</sales_convert_quote>
</fieldsets>
Я нашел следующее ссылка на сайт очень полезно, надеюсь, что это помогает другим
Других решений пока нет …