+7 (987) 026-06-36
Написать в Telegram

Оставить заявку
stanislav_web

Настройка детальной страницы news.detail через urlrewrite в 1С-Битрикс

Настройка детальной страницы news.detail через urlrewrite в 1С-Битрикс Простым и понятным примером показываю как создать правило обработки адресов в 1С-Битрикс для детальной страницы новости

Настройка детальной страницы news.detail через urlrewrite в 1С-Битрикс

Простым и понятным примером показываю как создать правило обработки адресов в 1С-Битрикс для детальной страницы новости

📅 24 апреля 2023

👁‍🗨 869

🔥 0

Настройка детальной страницы news.detail через urlrewrite в 1С-Битрикс

Задача состояла в том, что по логике список новостей должен был располагаться в разделе /about/news/ с выводом элементов на основании выбранного раздела. Мной были выбраны простые компоненты bitrix:news.list и bitrix:news.detail. Поэтому при переходе на детальную страницу новости мне понадобилось правило для обработки.

Если нет возможности залезть в код, тогда можно открыть правила пройдя по пути https://ваш_домен/bitrix/admin/urlrewrite_list.php
Настройка детальной страницы news.detail через urlrewrite в 1С-Битрикс
<?
$arUrlRewrite = array (
    ...
    0 => 
    array (
        'CONDITION' => '#^/about/news/([0-9a-zA-Z_-]+)/.*#', // В файле /about/news/index.php расположен простой компонент bitrix:news.list
        'RULE' => 'ELEMENT_CODE=$1', // В настройках инфоблока в поле "URL страницы детального просмотра" установлена запись #SITE_DIR#/about/news/#ELEMENT_CODE#/, поэтому в $1 из скобок в CONDITION у нас будет записываться символьный код элемента
        'ID' => 'bitrix:news.detail', // Простой компонент
        'PATH' => '/about/news/detail.php', // В файле /about/news/detail.php расположен простой компонент bitrix:news.list
        'SORT' => 100,
    )
    ...
);

// В файле /about/news/detail.php
$APPLICATION->IncludeComponent(
    'bitrix:news.detail',
    '',
    Array(
        ...
        'ELEMENT_CODE' => $_REQUEST['ELEMENT_CODE'], // $_REQUEST['ELEMENT_CODE'] будет равен символьному коду элемента на основании правила из файла urlrewrite - 'RULE' => 'ELEMENT_CODE=$1'
        ...
    )
);
?>