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

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

24 дек 2024
Дмитрий М.
342

Требуемый код, будем писать в файле 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
    #Хлебные крошки, #1С Битрикс, #Bitrix CMS, #bitrix:breadcrumbs, #component_epilog, #кэширование
    1 окт 2018
    #bitrix, #свойства элементов, #обработчик событий, #OnBeforeIBlockElementUpdate, #OnIBlockElementSetPropertyValues
    21 июл 2020
    #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