@Askfortrue

Создание многоуровневого ЧПУ в отдельной папке на Catalog section list и catalog section. Как?

Добрый день
Пытаюсь разобраться как создать многуровневый ЧПУ общего каталога, если выводить раздел и его подразделы в отдельной папке .
ЧПУ вида /new_page/#SECTION_CODE#/#ELEMENT_CODE#/ создал, используя страницы index.php, list.php и detail.php, по всеми знаемому мастер-классу.
На этом вопрос остается открытым, не пойму как создать ЧПУ вида /new_page/#SECTION_CODE_PATH#/
Создавать в папке подразделы (физические) и размещать там все новые и новые уровни каталога с конкретными ID?
  • Вопрос задан
  • 306 просмотров
Пригласить эксперта
Ответы на вопрос 1
Вы же сами почти ответили на свой вопрос:
Когда начинаешь разносить его по папкам в соответствующие разделы, используя модули каталога отдельно, а не комплексный компонент

Вот и используйте комплексный компонент с настроенным SECTION_CODE_PATH.

Если же вам религия или здравый смысл запрещают использовать комплексный компонент, то это тоже решаемо - самый простой способ это совместить list.php и detail.php в один файл и заворачивать на него ВСЕ url вида /new_page/что/то/там/еще/ , забирая в переменную только последний токен (еще в данном случае). Далее вы проверяете есть ли у вас раздел с таким кодом и если есть выводите компонент раздела, а если нет - компонент элемента с таким кодом.
Пр это вы сталкнетесь со следующими проблемами:
если у вас есть раздел и элемент с одинаковыми кодами, то будет показываться раздел.
выводимые данные не будут зависеть то что/то/там и в этих токенах можно будет написать какую угодно ахинею.

Исправить это можно помещая в переменную весь url - что/то/там/еще
При этом в файле нужно будет его полностью разбирать, убеждаться и после нахождения сущности еще, проверять соответствует ли ей путь что/то/там. Таким образом вы реализуете практически кусок комплексного компонента в скрипте (но я считаю, что это все равно лучше, чем использовать комплексный компонент).
Ответ написан
Ваш ответ на вопрос

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

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