Добавить комментарий при оплате Paypal в magento

Я хочу знать, есть ли способ разрешить покупателям добавлять комментарии в процессе оформления заказа при использовании Paypal? РЕДАКТИРОВАТЬ: этот комментарий будет отображаться в электронном письме и заказе.

Я нашел несколько модулей комментариев, но, похоже, они работают только с обычным процессом оформления заказа!. Заранее спасибо.


person Zeedia    schedule 05.06.2013    source источник
comment
Комментарии для кого, куда?   -  person Pekka    schedule 05.06.2013
comment
к их заказу. чтобы отображаться в том же электронном письме, что и при использовании обычной проверки.   -  person Zeedia    schedule 05.06.2013
comment
Что вы подразумеваете под обычным процессом оформления заказа? Если ваша касса настроена индивидуально, для этого, скорее всего, потребуется специальное решение.   -  person Axel    schedule 05.06.2013
comment
@Axel Я имел в виду, что когда клиент оформляет заказ с помощью кредитной карты в одностраничной кассе, у вас будет возможность добавить комментарий в разделе обзора. я хочу то же самое при использовании PayPal   -  person Zeedia    schedule 05.06.2013
comment
Вы можете добавить возможность добавлять комментарии к более раннему этапу оформления заказа или позволить им добавить комментарий после того, как заказ уже размещен. Если вас интересует любой из этих двух подходов, я могу попытаться дать более подробный ответ.   -  person Matt Dunbar    schedule 06.06.2013
comment
@MattDunbar большое спасибо. Можете ли вы дать больше информации о добавлении комментария после размещения заказа.   -  person Zeedia    schedule 06.06.2013
comment
@Zeedia Я добавил краткое объяснение - дайте мне знать, если что-то неясно или вы хотели поместить это в другое место, кроме success.phtml.   -  person Matt Dunbar    schedule 07.06.2013


Ответы (1)


Добавление этой функции с помощью PayPal невозможно, но вы можете добавить комментарий после размещения заказа на странице благодарности.

Вы захотите добавить форму с текстовой областью в success.phtml, а затем выполните шаги на контроллере, которому она отправляется. Вы, вероятно, захотите отправить пользовательский модуль.

Во-первых, получить последний заказ клиента:

$order = Mage::getModel('sales/order')->load(Mage::getSingleton('checkout/session')->getLastOrderId());

Затем возьмите этот заказ и обновите его комментарий.

$order->setCustomerNote($this->getRequest()->getParam('YOUR_COMMENT_FIELD_NAME'));
$order->save();

Если вы используете AJAX, вы можете вернуть JSON, указав, что заметка была сохранена (или произошла ошибка проверки) непосредственно из контроллера и избежать необходимости представления.

Если вы не знаете, как создать собственный модуль, я рекомендую начать здесь: http://blog.baobaz.com/en/blog/developing-module-for-magento-tutorial-where-to-begin-part-1< /а>

Единственное изменение, которое я бы порекомендовал, — это не повторять ваш вывод (даже если это JSON непосредственно из контроллера), а вместо этого использовать что-то вроде этого:

$this->getResponse()->setBody(Mage::helper('core')->jsonEncode(array('status'=>'success')));
person Matt Dunbar    schedule 07.06.2013