@1katerina9

Как создавать макросы в Битрикс?

Нужно вывести блок именно через макрос

CWizardUtil::ReplaceMacros(
    $_SERVER["DOCUMENT_ROOT"]."/index.php",
      Array(
        "BLOCK" => '<div> ... </div>', 
       )
   );

Если использовать ReplaceMacros работает только на странице index, можно ли как-то сделать сразу для всех страниц, не дублируя этот метод для каждой страницы? И при таком способе не работает, если в инфоблоке в одном из свойств(html/text) попытаться написать #BLOCK# и вывести в news.list (указывала такой путь /local/templates/site/components/bitrix/news.list/services/template.php) если в самом template.php написать #BLOCK# то этот блок отображается
  • Вопрос задан
  • 204 просмотра
Пригласить эксперта
Ответы на вопрос 1
@1katerina9 Автор вопроса
В init.php или в нужном файле добавить обработчик
<?AddEventHandler("main", "OnEndBufferContent", "ChangeMyContent");
function ChangeMyContent(&$content)
{ 
        $content = str_replace('#BLOCK#','<div> ....</div>', $content);  
}?>

И можно использовать #BLOCK#
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы