Преобразование пользовательской информации о продажах для цитирования по ручным заказам

magento.stackexchange https://magento.stackexchange.com/questions/10742

  •  16-10-2019
  •  | 
  •  

Вопрос

Hello Stackexchange Community.

Заранее извиняйтесь за то, что был расплывчатым по этому вопросу. Тем не менее, вот и мы.

У меня есть пользовательский атрибут продаж под названием «Примечания». Это краткое описание метода доставки, выбранного пользователем. Я построил небольшой модуль, который экономит эти заметки в цитате, а затем, в свою очередь, прикрывает их на заказ после совершения покупки. Это прекрасно работает для фронтальных платежей. При создании административного платежа все работает так далеко, как добавляется пользовательский атрибут таблицы sales_flat_quote. Тем не менее, он не преобразует его в заказ.

Я использую следующее в моем config.xml, чтобы справиться с этим:

           <fieldsets>
            <sales_convert_quote>
                <notes><to_order>*</to_order></notes>
            </sales_convert_quote>
           </fieldsets>

Как уже говорилось, это отлично работает для заказов на фронта, но не конвертирует платежи администратора. У кого -нибудь есть идеи, почему? Есть ли что -то больше, чем sales_convert_quote, я мог бы попробовать? Любая точка в направлении будет очень оценен. Я буду рад опубликовать больше кода, если он полезен, однако я не думаю, что это необходимо, поскольку это единственная партия процесса, которая сломана.

Заранее благодарю за любую помощь.

Это было полезно?

Решение

В случае, когда кто -то наткнулся на этот вопрос, и, возможно, был та же проблема, с которой я был. Однако у меня есть резолюция, проблема была не то, что я думал. sales_convert_quote в порядке. Проблема заключалась в том, что диспетчерское событие, которое я использовал, заключалось в добавлении дополнительной информации в таблицу sales_flat_quote после вызова sales_convert_quote.

Мне просто нужно было изменить событие отправки, которое я использовал, чтобы добавить информацию в таблицу цитат при вызове AJAX для переключения методов доставки. Для вашей ссылки здесь мой конфигуратор XML

<adminhtml>
        <events>
            <core_block_abstract_to_html_after>
                <observers>
                    <admin_before_order_save_new>
                        <class>Actioncameras_MatrixToOrder_Model_Observer</class>
                        <method>admin_before_order_save</method>
                    </admin_before_order_save_new>
                </observers>
            </core_block_abstract_to_html_after>
        </events>
    </adminhtml>

Тогда в моей модели/xearver.php вот моя функция:

class Packagename_ModuleName_Model_Observer {
    public function admin_before_order_save($observer) {
        if($observer->getEvent()->getBlock()->getNameInLayout() == "shipping_method")
        {
            $quote = Mage::getSingleton('adminhtml/session_quote')->getQuote();
            $shippingAddress = $quote->getShippingAddress();

            if(!$shippingMethod = $shippingAddress->getShippingMethod())
            {
                return false;
            }

            $shippingRate = $shippingAddress->getShippingRateByCode($shippingMethod);
            $quote->setNotes($shippingRate->getMethodDescription());
            $quote->save();
        }
    }
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top