/ Определяем на какой странице комплексного компонента находимся

Определяем на какой странице комплексного компонента находимся

24 дек 2024
Дмитрий М.
713
Определяем на какой странице комплексного компонента находимся

Требуемый код, будем писать в файле result_modifier.php и передавать в шаблон через переменную $arResult

$component = $this->getComponent();

if ($component) {
    $parent = $component->getParent();
    if ($parent) {
        $parentParams = $parent->arParams;
        $engine = new \CComponentEngine();
        $page = $engine->guessComponentPath(
            $parentParams['SEF_FOLDER'],
            $parentParams['SEF_URL_TEMPLATES'],
            $variables
        );
    
        $arResult['TARGET_PAGE'] = $page;

    }
}

Разместив выше написанный код в файле result_modifier.php мы получим в $arResult['TARGET_PAGE'] идентификатор страницы, которая соответствует указанному в $arParams['SEF_URL_TEMPLATES'] шаблону путей.

Если используется комплексный компонент bitrix:news то для него $arParams[SEF_URL_TEMPLATES'] например будет таким:

$arParams['SEF_URL_TEMPLATES'] = [
    'news' => '',
    'section' => '#SECTION_CODE#/',
    'detail' => '#SECTION_CODE#/#ELEMENT_CODE#/'
];

В таком случаи если мы будет находится на детальной странице новости, в $arResult['TARGET_PAGE'] будет значение detail

Статья была полезна? Поблагодарите автора.

Оглавление
    Самые читаемые
    #1С Битрикс, #Bitrix CMS, #.htaccess, #настройка редиректов
    4 авг 2019
    #bitrix:news, #сортировка, #фильтрация, #bitrix:catalog, #catalog.section, #news.list
    16 дек 2020
    #bitrix, #свойства элементов, #обработчик событий, #OnBeforeIBlockElementUpdate, #OnIBlockElementSetPropertyValues
    21 июл 2020
    #Хлебные крошки, #1С Битрикс, #Bitrix CMS, #bitrix:breadcrumbs, #component_epilog, #кэширование
    1 окт 2018
    #Bitrix CMS, #breadcrumb, #bitrix:breadcrumbs, #хлебные крошки, #настройка
    13 фев 2019
    #ресайз изображений, #1С Битрикс, #Bitrix CMS
    3 мар 2019
    #bitrix, #robots.txt, #sitemap.xml, #поддомены, #мультисайтовость
    16 окт 2018
    #bitrix, #bitrix:catalog.section, #скидки, #товары со скидкой, #страница скидок, #страница со скидками
    4 окт 2018
    #bitrix, #пользовательские свойства, #тип свойств, #привязка к элементам
    27 ноя 2019