Deen812. Битрикс чпу для каталога
Настройка ЧПУ для каталога
Настройка параметров компонента каталога
1. Переключитесь в режим правки и зайдите в настройки любого компонента каталога.2. Перейдите в пункт меню «Управление ссылками», отредактируйте поле «Детальная информация», задав нужные параметры для отображения ссылок.
ELEMENT_ID — если вы хотите, чтобы в ссылках отображался ID товара: /catalog/dushevye_kabiny/254 (ID товара)
ELEMENT_CODE — для отображения символьного кода товара: catalog/santekhnika/dushevye_kabiny/victoria_f-217 (код товара)
Настройка инфоблока каталога
Контент → Инфоблоки →Типы инфоблоков → Каталог → Каталог товаров
2. Проверьте, совпадают ли коды, заданные в компоненте каталога, с кодами в строках URL страницы инфоблока, URL страницы раздела и URL страницы детального просмотра.
Если вы указали в настройках параметров компонента ELEMENT_ID, то и в этих строках должен содержаться именно это значение. Иначе ЧПУ будет работать некорректно, из-за чего возникнут проблемы с отображением товаров каталога.
Здесь же вы можете задать дополнительные параметры для разделов, кликнув на кнопку с многоточием и выбрав нужные настройки ЧПУ.
Например: SECTION_CODE – символьный код родительского раздела SECTION_ID – ID родительского раздела SECTION_CODE_PATH – путь из символьных кодов раздела.
Внимание! Если вы используете параметр SECTION_CODE или SECTION_CODE_PATH, убедитесь, что символьные коды разделов уникальны. При совпадении символьных кодов система не поймет, какой раздел ей открыть, и не отобразит данные.
Для этого перейдите на вкладку «Поля разделов» в настройках инфоблока и отметьте пункты «Если код задан, то проверять на уникальность» и «Транслитерировать из названия при добавлении раздела».
Эти же параметры выставляем на вкладке «Поля», если задаем символьный код элемента (ELEMENT_CODE).
К примеру, вы хотите, чтобы в ссылках на товары использовался символьный код. Тогда код в поле «Детальная информация» в компоненте каталога будет выглядеть так:
#SECTION_CODE_PATH#/#ELEMENT_CODE#/ А код в инфоблоке будет выглядеть так: #SITE_DIR#catalog/#SECTION_CODE_PATH#/#ELEMENT_CODE#/ 3. Сохраняем изменения и проверяем результат на сайте:aspro.ru
Как убрать названия разделов в ЧПУ для каталога?
Потребность не указывать разделы в ЧПУ может возникнуть, к примеру, в том случае, если у вас нет утвержденной структуры каталога или вы планируете часто ее изменять, что может негативно сказаться на SEO-параметрах сайта.
Решение
Варианты решения:- Доработать комплексный компонент таким образом, чтобы названия разделов не выводились.
В итоге вы получите ссылку вида /catalog/tovar123.
Минус этого подхода в том, что компонент каталога станет необновляемым: вам будут недоступны новые функции компонента, будут накапливаться ошибки и сбои в работе каталога. Если вы собираетесь вносить изменения в код шаблона
- Добавить произвольный символьный код в адрес страницы (например, id). Тогда код адреса страницы товара в каталоге будет выглядеть следующим образом:
id/#ELEMENT_ID/
Ссылки на конкретные товары примут вид /catalog/id/tovar123 независимо от раздела, в котором они находятся. Соответственно, изменение структуры каталога не скажется на поисковой выдаче товара.
Для того, чтобы настроить ЧПУ таким образом, перейдите в параметры компонента каталога и отредактируйте поле «Детальная информация», вставив код перед формулой.
Аналогичные изменения необходимо внести в настройки инфоблока каталога для того, чтобы синхронизировать параметры ЧПУ. Для этого перейдите в настройки каталога товаров в административной части сайта:
Контент → Инфоблоки →Типы инфоблоков → Каталог → Каталог товаров
Внесите изменения в поле «URL страницы детального просмотра».
Код адреса страницы будет выглядеть следующим образом:
#SITE_DIR#catalog/id/#ELEMENT_ID#/
Сохраните изменения.
В параметрах компонента «Каталог» отключите строгую проверку раздела:
Сохраните изменения.
aspro.ru
Deen812: 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']?>" method="post">
deen812.blogspot.com