Добавление комментария к заказу (demodizzy)
Материал из Umicms
Версия от 09:30, 5 июня 2013; Mad grant (обсуждение | вклад)
Рассмотрим добавление комментария к заказу на примере демошаблона "Интернет-магазин современный". Для начала, напишем кастом, который будет записывать заказ.Откроем ~/classes/modules/emarket/__custom.php и поместим в него код:
<?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/');
}
?>
Также, пропишем этот макрос в файл ~/classes/modules/emarket/permissions.custom.php
<?php
$permissions = array('purchasing' => array('purchasecomment'));
?>
После этого, в модуле "Шаблоны данных" создадим поле типа "Простой текст" с идентификатором "comment". Осталось только изменить шаблон дизайна, выводящий корзину. В demodizzy это ~/xsltTpls/modules/emarket/cart.xsl. Откроем его, и заменим
<a href="{$lang-prefix}/emarket/purchase/" class="button big basket_purchase">
<xsl:text>&begin-purchase;</xsl:text>
</a>
на
<form action="{$lang-prefix}/emarket/purchasecomment/" >
Ваш комментарий:<br />
<textarea style="width: 300px; height: 50px;" name="comment"></textarea>
<br /><br />
<input type="submit" class="button big basket_purchase" value="&begin-purchase;" />
</form>
Теперь при оформлении заказа пользователь сможет добавить к нему комментарий.
Данный функционал был проверен на работоспособность в версии системы 2.8.5.2.