konratnox
7/21/2016 - 12:40 PM

Некэшируемые участки в шаблоне компонента в начале щаблона компонента ob_start(); в конце шаблона $this->__component->arResult["CACHED_TPL"

Некэшируемые участки в шаблоне компонента в начале щаблона компонента 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"]);