Пример подключения движка Smarty:
В массиве $arCustomTemplateEngines регистрируется движок Smarty:
global $arCustomTemplateEngines;
$arCustomTemplateEngines = array(
"smarty" => array(
"templateExt" => array("tpl"),
"function" => "SmartyEngine"
),
);
В функции SmartyEngine инициализируются параметры движка в соответствии с требованиями Smarty (см. систему помощи Smarty). Далее в Smarty передаются переменные результатов работы компонента, входных параметров, языковых сообщений и т.д., а в конце вызывается метод обработки и показа шаблона Smarty:
function SmartyEngine($templateFile, $arResult, $arParams, $arLangMessages, $templateFolder, $parentTemplateFolder, $template)
{
if (!defined("SMARTY_DIR"))
define("SMARTY_DIR", "<абсолютныйпутькдвижку Smarty>/libs/");
require_once( '<абсолютныйпутькдвижку Smarty>/libs/Smarty.class.php' );
$smarty = new Smarty;
$smarty->compile_dir = "<абсолютныйпутькдвижку Smarty>/templates_c/";
$smarty->config_dir = "<абсолютныйпутькдвижку Smarty>/configs/";
$smarty->template_dir = "<абсолютныйпутькдвижку Smarty>/templates/";
$smarty->cache_dir = "<абсолютныйпутькдвижку Smarty>/cache/";
$smarty->compile_check = true;
$smarty->debugging = false;
$smarty->assign("arResult", $arResult);
$smarty->assign("arParams", $arParams);
$smarty->assign("MESS", $arLangMessages);
$smarty->assign("templateFolder", $templateFolder);
$smarty->assign("parentTemplateFolder", $parentTemplateFolder);
$smarty->display( $_SERVER["DOCUMENT_ROOT"].$templateFile );
}
В строке "<абсолютныйпутькдвижку Smarty>" указывается абсолютный путь к движку Smarty.