Настройка ЧПУ простых компонентов

Комплексный компонент новостей (bitrix:news) легко позволяет настроить ЧПУ. Тут все настройки лежат в отдельном блоке и интуитивно понятны. Но у каждого простого компонента прийдётся настроить ЧПУ самостоятельно.

Берём блок с новостями, он состоит из 2 элементов: список новостей (bitrix:news.list) и новость детально (bitrix:news.detail). В настройках инфоблока выставляем следующие значения у настроек URL.

Шаблоны ссылок битрикс
#SITE_DIR#/news/
#SITE_DIR#/news/#SECTION_CODE#/
#SITE_DIR#/news/#SECTION_CODE#/#ELEMENT_CODE#/

Если у нас нет разделов новостей, то пункт SECTION_CODE#/ можно опустить и у нас получится:

#SITE_DIR#/news/
пусто
#SITE_DIR#/news/#ELEMENT_CODE#/

Для завершения настройки ЧПУ нужно дописать правило в файл urlrewrite.php. Сам файл должен лежать в корне вашего сайта, если его нет, то создайте его.

Если у нас новости с разделами правило выглядит так:

  1 => 
  array (//правило для детальной новости
    'CONDITION' => '#^/news/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/.*#',
    'RULE' => 'SECTION_CODE=$1/ELEMENT_CODE=$2',
    'ID' => '',
    'PATH' => '/news/detail.php',
    'SORT' => 100,
  ),
  2 => 
  array (//правило для списка новостей
    'CONDITION' => '#^/news/([a-zA-Z0-9-]+)/.*#',
    'RULE' => 'ELEMENT_CODE=$1',
    'ID' => '',
    'PATH' => '/news/index.php',
    'SORT' => 100,
  ),

И если разделов новостей нет, опускаем правило отвечающее за них:

  1 => 
  array (
    'CONDITION' => '#^/news/([a-zA-Z0-9-]+)/.*#',
    'RULE' => 'ELEMENT_CODE=$1',
    'ID' => '',
    'PATH' => '/news/detail.php',
    'SORT' => 100,
  ),

Тут главное понимать в каком файле какой компонент находится и прописать нужное для него правило. Комплексный компонент сделает это за вас, по этому советую использовать именно его.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *