Понедельник - пятница с 10:00 до 18:00
Главная » Блог » Как в Битриксе заменить переменную в тексте на php-код через init.php
Полезное

Как в Битриксе заменить переменную в тексте на php-код через init.php

Как заменить переменную #QUIZ# в текст на файл с кодом компонента галереи. Можно этим кодом заменить сразу на код компонента. Также в подключаемом файле можно выполнить любой php-код.


// Этот код оставляем в init.php - он работает ТОЛЬКО при выводе на сайте
AddEventHandler("main", "OnEndBufferContent", "ReplaceQuizMacro");

function ReplaceQuizMacro(&$buffer) {
// Проверяем, что это не административная часть
if (defined('ADMIN_SECTION') && ADMIN_SECTION === true) {
return;
}

if (strpos($buffer, '#QUIZ#') !== false) {
ob_start();
global $APPLICATION;
$APPLICATION->IncludeFile(
$APPLICATION->IncludeFile(SITE_DIR."include/quiz.php"),
Array(),
Array("MODE" => "html")
);
$quiz_component = ob_get_clean();

$buffer = str_replace('#QUIZ#', $quiz_component, $buffer);
}
}

Читать все статьи