Для справки : OnEpilog - обработка html перед выдачей в браузер.
AddBufferContent:
$APPLICATION->AddBufferContent('ShowCondTitle');
function ShowCondTitle()
{
global $APPLICATION;
if (!$APPLICATION->GetTitle())
return "Стандартная страница";
else
return $APPLICATION->GetTitle();
}
AddBufferContent на вход принимает имя функции, результат выполнения которой нужно положить в месте вызова (в месте вызова AddBufferContent).
It Sparta: Денис Зимин написал: в component_epilog.php в любом случае будет работать, ведь он не кешируется.
По теории - да, но по факту, работает только при сброшенном КЕШе. Я не просто так это говорю - буквально несколько дней назад пробовал. Может, конечно, есть ряд факторов, от чего зависит, но в моём случае именно так. Подобная проблема не только у меня возникла. Вот - https://dev.1c-bitrix.ru/community/web...7#com70997 Люди тоже жалуются. По этому призываю осторожнее отнестись к <? $this->__template->SetViewTarget в component_epilog.php
Меркулов Сергей, тогда возможно у вас в шаблоне сначала не было component_epilog.php, шаблон закешировался и потом вы добавили этот файл. В таком случае да, он не будет вызываться до обновления кеша компонента. Но после обновления должен вызывать и не кешироваться.
И как всегда не стоит забывать, что сам битрикс иногда выдает неожиданные багофичи в самых неожиданных местах
при включенном кеше может не работать в том случае, если при формировании "....content...." используются некешируемые ключи массива $arResult.
Сравни в component_epilog массив $arResult при наличии кеша и при его отсутствии, если отличаются, то в result_modifier нужно добавить необходимые ключи с помощью SetResultCacheKeys
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».