Добавление комментария при оформлении заказа — различия между версиями
Cmac (обсуждение | вклад) |
Vitaliks (обсуждение | вклад) |
||
(не показано 9 промежуточных версий 3 участников) | |||
Строка 1: | Строка 1: | ||
− | + | '''Актуально для версии 20.''' | |
− | + | == Задача == | |
+ | |||
+ | Реализовать возможность добавления покупателю комментария к заказу<br/> | ||
+ | |||
+ | == Решение == | ||
+ | В модуле "Шаблоны данных" откроем на редактирование тип данных "Заказ" и в группу "Свойства заказа" добавим поле с названием "Комментарий", с идентификатором 'comment' и типом "Простой текст". Далее в шаблон, который формирует отображение корзины с товарами, рядом с кнопкой "Оформить заказ" пропишем следующее поле: | ||
<pre> | <pre> | ||
− | Ваш комментарий:< | + | <span>Ваш комментарий:</span> |
<textarea style="width: 300px; height: 50px;" name="comment"/></textarea> | <textarea style="width: 300px; height: 50px;" name="comment"/></textarea> | ||
− | |||
</pre> | </pre> | ||
− | + | Также необходимо поменять action формы с: | |
+ | <pre> | ||
+ | /emarket/purchase/ | ||
+ | </pre> | ||
+ | на: | ||
<pre> | <pre> | ||
/emarket/purchasecomment/ | /emarket/purchasecomment/ | ||
</pre> | </pre> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | Далее в | + | Далее, в файле '''~/classes/components/emarket/customMacros.php''' добавляем код следующего метода: |
<source lang="php"> | <source lang="php"> | ||
− | + | public function purchasecomment(){ | |
$comment = htmlspecialchars(getRequest('comment')); | $comment = htmlspecialchars(getRequest('comment')); | ||
$ini = cmsController::getInstance()->getModule('emarket'); | $ini = cmsController::getInstance()->getModule('emarket'); | ||
$order = $ini->getBasketOrder(false); | $order = $ini->getBasketOrder(false); | ||
− | $order->comment | + | $order->setValue('comment', $comment); |
$order->commit(); | $order->commit(); | ||
$ini->redirect('/emarket/purchase/'); | $ini->redirect('/emarket/purchase/'); | ||
− | + | } | |
− | |||
</source> | </source> | ||
− | В | + | В директории '''~/classes/components/emarket/''' создаем файл '''permissions.custom.php''' со следующим содержанием: |
<source lang="php"> | <source lang="php"> | ||
<?php | <?php | ||
− | $permissions = array('purchasing' => array('purchasecomment')); | + | $permissions = array('purchasing' => array('purchasecomment')); |
?> | ?> | ||
</source> | </source> |
Текущая версия на 07:53, 17 мая 2019
Актуально для версии 20.
Задача
Реализовать возможность добавления покупателю комментария к заказу
Решение
В модуле "Шаблоны данных" откроем на редактирование тип данных "Заказ" и в группу "Свойства заказа" добавим поле с названием "Комментарий", с идентификатором 'comment' и типом "Простой текст". Далее в шаблон, который формирует отображение корзины с товарами, рядом с кнопкой "Оформить заказ" пропишем следующее поле:
<span>Ваш комментарий:</span> <textarea style="width: 300px; height: 50px;" name="comment"/></textarea>
Также необходимо поменять action формы с:
/emarket/purchase/
на:
/emarket/purchasecomment/
Далее, в файле ~/classes/components/emarket/customMacros.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/components/emarket/ создаем файл permissions.custom.php со следующим содержанием:
<?php
$permissions = array('purchasing' => array('purchasecomment'));
?>
Теперь при оформлении заказа пользователь сможет оставить комментарий к заказу. При просмотре заказа в административной части, комментарий будет отображаться в блоке "Свойства заказа".