Определение нахождения на странице раздела или на детальной
Как в комплексном компонентах bitrix:catalog или bitrix:news отличить раздел и детальную
Такая задача может возникнуть, когда необходимо, например, добавить в /<папка>/index.php какую-нибудь логику перед вызовом комплексного компонента bitrix:catalog или bitrix:news.
Определить открыта ли сейчас страница раздела или детальная страница, можно следующим образом:
<?php
//...
$arVariables = [];
$page = CComponentEngine::ParseComponentPath(
'/catalog/',
[
'list' => '',
'section' => '#SECTION_CODE#/',
'detail' => '#SECTION_CODE#/#ELEMENT_CODE#/',
],
$arVariables
);
if ($page === 'detail') {
//это детальная
}
if ($page === 'section') {
//это раздел
}
Здесь во втором параметре в section и detail передаются шаблоны путей комплексного компонента для режима ЧПУ. То есть то же, что указано у вас в параметре SEF_URL_TEMPLATES у самого комплексного компонента. Проверьте, чтобы они совпадали.
Подробнее о функции в документации.
Оставьте комментарий
Если эта статья была полезной для вас, оставьте комментарий ниже или задайте интересующий Вас вопрос. Ваш опыт может помочь другим читателям!
Написать комментарий