Добавление комментария при оформлении заказа
Актуально для версии 2.9.6
Задача: Реализовать возможность добавления покупателю комментария к заказу
Реализация:
В модуле "Шаблоны данных" откроем на редактирование тип данных "Заказ" и в группу "Свойства заказа" добавим поле с названием "Комментарий", с идентификатором 'comment' и типом "Простой текст". Далее в шаблон, который формирует отображение корзины с товарами, рядом с кнопкой "Оформить заказ" пропишем следующее поле:
Ваш комментарий:<br /> <textarea style="width: 300px; height: 50px;" name="comment"/></textarea> <br /><br />
также необходимо поменять action формы с:
/emarket/purchase/
на:
/emarket/purchasecomment/
Далее, в файле /classes/modules/emarket/__custom.php добавляем код следующего метода:
public function purchasecomment(){
$comment = htmlspecialchars(getRequest('comment'));
$ini = cmsController::getInstance()->getModule('emarket');
$order = $ini->getBasketOrder(false);
$order->setValue('comment', $comment);
$order->commit();
$ini->redirect('/emarket/purchase/');
}
В директории /classes/modules/emarket создаем файл permissions.custom.php со следующим содержанием:
<?php
$permissions = array('purchasing' => array('purchasecomment'));
?>
Теперь при оформлении заказа пользователь сможет оставить комментарий к заказу. При просмотре заказа в административной части, комментарий будет отображаться в блоке "Свойства заказа".