Работа с шаблонами и макросами
Модуль корзины и оформления заказов использует шаблоны, расположенные в каталоге /templates/emarket/. Рекомендуется открыть файл default.phtml, в который будем добавлять макросы. Новая версия UMI.CMS 7.x позволяет работать с магазином, включая цены, скидки, заказы, процесс покупки, персональную информацию о покупке и сравнение товаров. Описания некоторых макросов, представленных в документации, пропущены, так как они устарели или не работают с PHP-шаблонизатором. Разберём доступные макросы.
Макросы корзины и сравнения товаров
marketCart
Выводит содержимое корзины текущего пользователя. Доступен для PHP-шаблонизатора. Добавление на сайт:
{$marketCart}
Этот код может уже присутствовать в шаблоне сайта.
marketCompare
Выводит список добавленных к сравнению товаров и их характеристики. Доступен для PHP-шаблонизатора. Добавление кода:
<?php echo $compare; ?>
Управление списком сравнения:
- marketAddToCompare: Добавление товара (передаётся ID товара).
- marketRemoveFromCompare: Удаление товара (передаётся ID товара).
- marketResetCompareList: Очистка списка сравнения.
marketGetCompareList
Выводит список товаров, добавленных к сравнению. Доступен в PHP-шаблонизаторе и, как правило, уже присутствует в шаблоне сайта.
marketGetCompareLink
Выводит ссылку для добавления или удаления товара из сравнения. Код прост и управляет отображением ссылки в зависимости от наличия товара в списке сравнения.
Макросы оформления заказа
marketGetPrice
Возвращает стоимость товара. Реализация обычно уже включена в шаблоны вывода товаров. Пример реализации в файле short.view.php:
{$object->getMarketPrice()}
marketPurchase
Осуществляет поэтапный процесс оформления заказа. Доступен для PHP-шаблонизатора. Добавление кода:
<?php print_r($purchase); ?>
Выведет массив с информацией о заказе, включая статус, данные о доставке и т.д. Макрос автоматически перенаправляет на страницу оформления заказа.
marketPurchasingOneStep
Возвращает все поля, необходимые для оформления заказа в один шаг. Доступен для PHP-шаблонизатора. Вывод массива с информацией:
<?php print_r($purchasing); ?>
marketOrder
Возвращает информацию о заказе по его ID (через атрибут id). Требуется передать orderID.
marketOrderList
Возвращает список заказов текущего пользователя. Простая функция, выводит список заказов, если таковые имеются.
Рассмотрены основные макросы UMI.CMS для работы с корзиной, сравнением товаров и оформлением заказов. Использование PHP-шаблонизатора упрощает работу, так как многие функции уже реализованы в системе. Для детальной информации обратитесь к документации.