линия

Главная

среда, 9 декабря 2015 г.

Bitrix , Каталог, ЧПУ

Как то надо было создать каталог товаров на одном сайте. Сайт крутился на Bitrix.
/portfolio/ - выводим список разделов ПОРТФОЛИО
/portfolio/xxx/ где xxx - название раздела. Вывод элементов раздела
/portfolio/xxx/yyy  - где yyy - элемент раздела. Детальный просмотр элемента.
Создаем вот такие файлы

index.php - вывод разделов
list.php - вывод элементов раздела
detail.php - детальной просмотр элемента
На странице index.php добавляем компонент bitrix:catalog.section.list . Настраиваем в компоненте ЧПУ

Открываем страницу portfolio/list.php. Добавляем компонент bitrix:catalog.section
Также настраиваем ЧПУ компонента

Открываем страницу portfolio/detail.php. Добавляем компонент bitrix:catalog.element. Тут ничего касающегося ЧПУ не делаем.
Сейчас у нас ничего не заработает. Нужно настроить правила!
Идем в админку Настройки ---- Обработка адресов -- правила обработки
Добавляем то что на картинке.


#^/catalog/([a-zA-Z0-9_-]+)/#
/catalog/detail.php
ELEMENT_CODE=$1


Все, теперь должно работать.
И еще, в хлебных крошках может вместо portfolio/xxx быть такая ссылка portfolio/list?SECTION_CODE=xxx. ЧТобы этого не было надо настроить сам инфоблок.
Кстати, при включенном ЧПУ теряются POST запросы.  Чтобы хотябы "захватить"  POST параметры и , например, добавить в сессию, надо указать action
<form action="/portfolio/list.php?SECTION_CODE=<?=$_REQUEST['SECTION_CODE']?>" id="myform" method="post">



1 комментарий: