component_epilog

добавление переменных в component_epilog.php из result_modifier.php

15.08.2013 Bitrix, php скрипты , ,

в result_modifier.php

$this->__component->arResultCacheKeys[] = 'OLOLO';
$arResult['OLOLO'] = 'OLOLO';

в component_epilog.php

var_dump($arResult);

Добавление необходимых полей в кеш для использования в component_epilog.php

26.03.2013 Bitrix, php скрипты No comments , ,

Например, если нужно вручную добавить элемент в цепочку навигации, а в component_epilog.php попадают не все необходимые поля (например, передалось только имя, а ссылки нет).

Тогда в файле result_modifier.php пишем:

$cp = $this->__component;
if (is_object($cp))
$cp->SetResultCacheKeys(array("SECTION_PAGE_URL"));

после чего в файле component_epilog.php становится доступным  $arResult[«SECTION_PAGE_URL»] (т.к. мы принудительно записали его в кеш).

Из result_modifier.php в component_epilog.php

10.01.2013 Bitrix No comments , ,

Для получения всех данных из шаблона в component_epilog.php

result_modifier.php

<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();

$cp = $this->__component; // объект компонента

if (is_object($cp))
{
   // добавим в arResult компонента два поля - MY_TITLE и IS_OBJECT
   $cp->arResult['arResult'] = $arResult;
   
   $cp->SetResultCacheKeys(array('arResult'));
   // сохраним их в копии arResult, с которой работает шаблон, если модуль main меньше 10.0
   if (!isset($arResult['arResult']))
   {
      $arResult['arResult'] = $cp->arResult['arResult'];
   }
}?>

component_epilog.php

$arResult = $this->arResult['arResult'];