@vardoLP
Ват ю сэй эбаут май мама?!

Как сделать вывод инфоблока на определенной странице раздела Bitrix?

Всем привет.

У меня есть раздел "Специалисты". В нем есть подразделы с добавленными элементами.

Задача: Показывать специалистов именно на элементах (то есть страницах), а не в разделах и подразделах.
Так как у меня место для этого функционала расположено в header, я вывожу их с проверкой на раздел
if(CSite::InDir('/service')):

Проблема в том, что в разделе "Специалисты" есть "Узкие специалисты" и в нем есть куча подразделов "Специалист 1", "Специалист 2" и т.д. + они всегда добавляются. Соответственно моя проверка цепляет только главный раздел service.

Вопрос, как сделать проверку на конкретного специалиста в главном разделе, учитывая, что их список выводится в header, а не на конкретной странице.

Заранее благодарен
  • Вопрос задан
  • 757 просмотров
Пригласить эксперта
Ответы на вопрос 2
alexfilus
@alexfilus
Senior backend developer
if(substr_count('/service',$APPLICATION->GetCurDir())):
Ответ написан
@kudis
Bitrix developer
можете добавить в $urlrewrite правило, которое будет идентификатор специалиста передавать в запрос $_REQUEST['PERSON_ID']
array(
        "CONDITION" => "#^/service/.+?/([^\/]+)/#",
        "RULE" => "PERSON_ID=\$1",
        "ID" => "",
        "PATH" => "/service/index.php",
    ),

эта переменная будет доступна и в хэдере, где Вы её получите и, при наличии, выведите инфоблок для конкретного сотрудника
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы