Кампания: Примеры

Внимание! Мы рекомендуем вам прочитать разделы Архитектура, Класс 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>