Полный цикл в digital

Передать данные в component_epilog.php

Иногда требуется в шаблоне компонента дополучить данные и перенести их в component_epilog.php, например возьмем стандартный компонент bitrix:news.list. Даже если мы добавим новый ключ в массив $arResult и разместим в нем наши данные:

<?
$arResult['TEXT'] = 'Hello world!';

Данные не попадут в component_epilog.php, потому что компонент bitrix:news.list не добавляет в кэш все данные, он кэширует вывод всего HTML-кода, который выводит шаблон и дополнительно кэширует некоторые, но не все элементы массива $arResult.

Для того, что бы нужные данные попали в component_epilog.php, их нужно добавить вручную. Нам нужно, что бы наши данные попали в дата-кэш компонента, который отвечает за массив данных компонента.

Для нашего примера $arResult['TEXT'] в result_modifier.php добавим следующие строки:

<?
$this->__component->SetResultCacheKeys(['TEXT']);

В метод SetResultCacheKeys() мы должны передать массив ключей из $arResult которые должны попасть в component_epilog.php. Если нам нужно передать в component_epilog.php данные из $arResult['KEY1'], $arResult['KEY2'], $arResult['KEY3'] то код будет выглядеть так:

<?
$this->__component->SetResultCacheKeys(['KEY1', 'KEY2', 'KEY3']);
Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!
Эйч Маркетинг