Кампания: Примеры
Внимание! Мы рекомендуем вам прочитать разделы Архитектура, Класс ElementItem, Класс ElementCollection для полного понимания архитектуры проекта.
Пример 1. Отрисовка блока с примененными кампаниями на странице оформления заказа.
- $iPromoBlockID - promo block ID
1.1 Задача
Отрисовка блока с примененными кампаниями на странице оформления заказа.
1.2 Как это сделать?
В примере используется компонент "Корзина". Метод Component возвращает объект класса CampaignCollection. Все доступные поля и методы класса CampaignCollection вы можете найти в разделе
1.3 Исходный код
Файл: pages/checkout.htm
title = "Checkout page"
url = "/checkout"
layout = "main"
is_hidden = 0
[Cart]
==
{% partial 'cart/checkout/checkout' %}
Файл: partials/cart/checkout/checkout.htm
{# Получить массив с примененными кампаниями #}
{% set obCampaignList = Cart.getAppliedCampaignList() %}
{% if obCampaignList.isNotEmpty() %}
<div>
<span>Applied campaigns </span>
<ul>
{% for obCampaign in obCampaignList %}
<li>{% partial 'cart/campaign-item/campaign-item' obCampaign=obCampaign %} </li>
{% endfor %}
</ul>
</div>
{% endif %}
Файл: partials/cart/campaign-item/campaign-item.htm
<div>
<span>{{ obCampaign.name }}</span<>
<span>Акция действует с {{ obCampaign.date_begin.format('d.m.Y') }} до {{ obCampaign.date_end.format('d.m.Y') }}</span<>
</div>
<div>{{ obCampaign.preview_text }}</div>