Скрин ситуации:
Если взять, например компонент news.detail и в template.php записать весь вывод в буфер
а затем буфер сохранить в component_epilog.php и попытаться его вывести
ТО всё содержимое компонента будет напечатано до вывода основного контента сайта(до header.php)
Проделано в песочнице битрикса при включенном кешировании (скриншот см.спойлер)
Собственно зачем это делается? Например, если на детальной странице нужно где-то в середине шаблона вывести небольшой список других новостей с ajax подгрузкой(сначала 3 новости, при нажатии на стрелочку подгружаются еще 3 и т.д.).
Так вот данный способ работал на битриксе 18, а с 20 версии что-то пошло не так.
Может быть кто-то знает другой рабочий способ?
Скрытый текст |
---|
(скриншот |
Если взять, например компонент news.detail и в template.php записать весь вывод в буфер
Код |
---|
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die(); ob_start(); // запишем весь template в буфер и выведем его потом в component_epilog |
а затем буфер сохранить в component_epilog.php и попытаться его вывести
Код |
---|
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die(); $content = ob_get_clean(); echo $content; |
ТО всё содержимое компонента будет напечатано до вывода основного контента сайта(до header.php)
Проделано в песочнице битрикса при включенном кешировании (скриншот см.спойлер)
Собственно зачем это делается? Например, если на детальной странице нужно где-то в середине шаблона вывести небольшой список других новостей с ajax подгрузкой(сначала 3 новости, при нажатии на стрелочку подгружаются еще 3 и т.д.).
Так вот данный способ работал на битриксе 18, а с 20 версии что-то пошло не так.
Может быть кто-то знает другой рабочий способ?