Задать вопрос
@wagwandude

CSite::InDir для подразделов раздела?

Добрый день.

Хочу вывести определенную информацию в header.php для категории и всех её вложений (подкатегорий, подподкатегорий).
Делал через CSite::InDir:
if(CSite::InDir('/catalog/odejda/')) {
	echo "Lorem Ipsum";
} else {
	echo "Muspi Merol"
}

Однако URL подкатегорий строится точно так же, как и сама категория - /catalog/kofti/, несмотря на то, что /kofti/ находятся в /odejda/
В настройках компонента "Каталог" изменил построение адреса страниц раздела с #SECTION_CODE# на #SECTION_CODE_PATH# и получил ссылку вида: /catalog/odejda/kofti/
При таком раскладе InDir идеально сюда вписывается, но, к сожалению, мне нужно оставить стандартный вариант построения адреса страниц и найти иной способ написать условие для вывода необходимой информации в разделе и его подразделов.

Это крайне важно решить, ибо уже третий день мучаюсь над этим вопросом.
Помогите разобраться с этим!
Заранее большое спасибо.
  • Вопрос задан
  • 1901 просмотр
Подписаться 1 Оценить 1 комментарий
Решения вопроса 1
добавить свойства для раздела, в которое запихнуть необходимую инфу/картинку, в компоненте через result_modifier.php получить эти данные через CIBlockSection::GetList, буферизовать, вывести через отложенные функии в хэдере

для подразделов, родителя можно получить через = CIBlockSection::GetNavChain
далее так же выбрать свойства у родителя и как выше описано
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
no_one_safe
@no_one_safe
Лучше использовать Отложенные функции

В component_epilog.php определяешь как и что выводить. Определяешь свойство страницы через SetPageProperty и через
$APPLICATION->AddBufferContent('ShowCondText');
Выводишь то что нужно.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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