UMI.CMS: Корзина и оформление заказа (Урок 9)

Работа с шаблонами и макросами

Модуль корзины и оформления заказов использует шаблоны, расположенные в каталоге /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-шаблонизатора упрощает работу, так как многие функции уже реализованы в системе. Для детальной информации обратитесь к документации.

Что будем искать? Например,программа