Вывод суммы заказа на всех этапах заказа
Актуально для версии 2.9
Задача: Вывести сумму заказа на всех этапах оформления заказа.
Реализуем решение данной задачи с помощью кастомного макроса, в котором с помощью выборки selector получаем значение суммы из последнего существующего заказа. В файл classes/modules/custom.php после //TODO: Write your own macroses here необходимо вставить следующий код:
public function lastOrderPrice () {
$pages = new selector('objects');
$pages->types('object-type')->id(24);
$pages->order('id')->desc();
$pages->limit(0,1);
Здесь мы выбираем самый последний существующий заказ
$page = $pages->result;
$price_order=$page[0]->getValue('total_price');
return $price_order;
}
Теперь в переменную $price_order передаем сумму нашего заказа. Осталось вывести это в шаблоне. В TPL-шаблонизаторе, к примеру, чтобы вывести на странице выбора адреса доставки необходимо в шаблоне tpls/emarket/delivery/default.tpl в блоке 'delivery_address_block' после формы вставить следующую строку:
<p>Сумма Вашего заказа - %custom lastOrderPrice()% рублей.</p>
В остальные шаблоны добавление аналогичное. В XSLT-шаблонизаторе вывести значение этой переменной можно с помощью следующей строки:
<xsl:value-of select="document('udata://custom/lastOrderPrice')/udata" />