Добавление комментария при оформлении заказа

В данной статье будет описан способ подключения функционала, который позволит покупателю, при оформлении заказа, оставить свой комментарий к заказу.

Итак какие действия необходимо выполнить. Необходимо зайти в модуль "Шаблоны данных", открыть на редактирование тип данных "Заказ" (если система была обновлена с 2.7 - не перепутать с заказом модуля eshop) и в группу "Свойства заказа" добавить поле Комментарий, с идентификатором 'comment' и типом "Простой текст". Далее в шаблон, который формирует отображение корзины с товарами, необходимо рядом с кнопкой "Оформить заказ" прописать следующее поле:

Ваш комментарий:<br /> <textarea style="width: 300px; height: 50px;" name="comment"/></textarea> <br /><br />

также необходимо поменять action формы на:

/emarket/purchasecomment/

В итоге, форма будет примерно такой (пример для tpl-шаблонов):

<form action="%pre_lang%/emarket/purchasecomment/"> Ваш комментарий:<br/> <textarea style="width: 300px; height: 50px;" name="comment"/></textarea> <br /><br /> <input type="submit" value="Оформить заказ" /> </form>

Далее в папке classes/modules/emarket/ , в файл __custom.php добавляем следующий метод:

public function purchasecomment(){ $comment = htmlspecialchars(getRequest('comment')); $ini = cmsController::getInstance()->getModule('emarket');   $order = $ini->getBasketOrder(false); $order->comment = $comment; $order->commit(); $ini->redirect('/emarket/purchase/');   }


В этой же папке в файл permissions.custom.php добавить:

$permissions = array('purchasing' => array('purchasecomment'));

Теперь при оформлении заказа пользователь сможет оставить комментарий к заказу. При просмотре заказа в административной части, комментарий будет отображаться в блоке "Свойства заказа".