Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

API узнать директорию

00 голосов
7
Мне нужно в шаблоне менять одну фигульку в зависимости от директории.
В API нашел $APPLICATION->GetCurDir();, но, если у меня используется ЧПУ, то мне выдается не к примеру /catalogue/ а /catalogue/5/ или /catalogue/5/150/

Вот собственно хотелось бы узнать, как определить именно физическую папку?
спросил 03 Июнь, 13 от Snezhka (2,240 баллов)

7 Ответы

00 голосов
Заведите в настройках модуля "Управление структурой" какое-нибудь новое свойство, задайте разное значение этого свойства для разных каталогов и проверяйте это значение через $APPLICATION->GetDirProperty()
ответил 03 Июнь, 13 от Ly (4,580 баллов)
00 голосов
А что мешает использовать функцию explode('/', $APPLICATION->GetCurDir()) и проверять элемент с индексом 1?
ответил 09 Июнь, 13 от Divinil (160 баллов)
00 голосов
Цитата
kaddyd пишет:
А что мешает использовать функцию explode('/', $APPLICATION->GetCurDir()) и проверять элемент с индексом 1?

То, что физическая папка не обязательно 1-го уровня. Может быть и глубже. /catalogue/ приведен лишь в качестве примера.
ответил 11 Сен, 13 от Pomnep (13,960 баллов)
00 голосов
Цитата
То, что физическая папка не обязательно 1-го уровня. Может быть и глубже. /catalogue/ приведен лишь в качестве примера.

именно

Цитата
Заведите в настройках модуля "Управление структурой" какое-нибудь новое свойство, задайте разное значение этого свойства для разных каталогов и проверяйте это значение через $APPLICATION->GetDirProperty()

а менее извратного способа нет? :))
ответил 09 Дек, 13 от Snezhka (2,240 баллов)
00 голосов
Цитата
Олег Белов пишет:
а менее извратного способа нет?

Сходу приходит в голову лишь парсить url и проверять на существование папки.
ответил 24 Март, 14 от Pomnep (13,960 баллов)
00 голосов
да, остановился на варианте парсинга урла..
ответил 16 Июль, 14 от Snezhka (2,240 баллов)
00 голосов
Определить реальную директорию скрипта в режиме ЧПУ:
Код
if(!empty($_SERVER['REAL_FILE_PATH'])) {
   echo dirname($_SERVER['REAL_FILE_PATH']);
}
ответил 16 Ноя, 14 от Delp (7,220 баллов)

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

0 голосов
0 ответов
спросил 28 Сен, 13 от Toren (120 баллов)
0 голосов
1 ответ
0 голосов
1 ответ
спросил 25 Июль, 15 от аноним
0 голосов
2 ответов
спросил 09 Май, 14 от CCCPKinG (440 баллов)
0 голосов
2 ответов
спросил 04 Май, 14 от Snezhka (2,240 баллов)