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

Материал из Umicms
Версия от 21:15, 29 декабря 2010; VITL' (обсуждение | вклад) (Новая страница: «В данной статье будет описан способ подключения функционала, который позволит покупателю…»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к:навигация, поиск

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

Итак какие действия необходимо выполнить. Необходимо зайти в модуль "Шаблоны данных", открыть на редактирование тип данных "Заказ" и в группу "Свойства заказа" добавить поле Комментарий, с идентификатором '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 с таким содержанием:

<?php
$permissions = array('purchasing' => array('purchasecomment'));
?>

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