Некэшируемые участки в шаблоне компонента в начале щаблона компонента ob_start(); в конце шаблона $this->__component->arResult["CACHED_TPL"] = @ob_get_contents(); ob_get_clean();
в резалт модифайере
__component->SetResultCacheKeys(array("CACHED_TPL"));?> так же в шаблоне нажо установить метки, что заменить надо и далее в компонет эпилог заменяет по меткамecho preg_replace_callback(
"/#DELIVERY_REPLACER#/i".BX_UTF_PCRE_MODIFIER,
create_function('$matches', 'global $USER; if(CSite::InGroup (array(9)) || !($USER->IsAuthorized()) ) {
$pathToDelivery = "/includes/deliveryRozn.php";
} else {
$pathToDelivery = "/includes/deliveryOpt.php";
} ob_start();
$GLOBALS["APPLICATION"]->IncludeComponent(
"bitrix:main.include",
"",
Array(
"AREA_FILE_SHOW" => "file",
"AREA_FILE_SUFFIX" => "inc",
"EDIT_TEMPLATE" => "",
"PATH" => $pathToDelivery
)
);
$retrunStr = @ob_get_contents();
ob_get_clean();
return $retrunStr;'),
$arResult["CACHED_TPL"]);