Битрикс news list 404 ошибка

Необходимо вывести элементы каталога без раздела — списком. Реализовал через bitrix:news.list.
Элементы вывел без проблем, списком, но детальный просмотр элементов не работает, выдает 404.
Настройки URL инфоблока —

spoiler

613faa9275993570711380.png

Код компонента —

spoiler

<?$APPLICATION->IncludeComponent(
«bitrix:news.list»,
«template1»,
array(
«ACTIVE_DATE_FORMAT» => «d.m.Y»,
«ADD_SECTIONS_CHAIN» => «Y»,
«AJAX_MODE» => «N»,
«AJAX_OPTION_ADDITIONAL» => «»,
«AJAX_OPTION_HISTORY» => «N»,
«AJAX_OPTION_JUMP» => «N»,
«AJAX_OPTION_STYLE» => «Y»,
«CACHE_FILTER» => «N»,
«CACHE_GROUPS» => «Y»,
«CACHE_TIME» => «36000000»,
«CACHE_TYPE» => «A»,
«CHECK_DATES» => «Y»,
«COMPONENT_TEMPLATE» => «template1»,
«DETAIL_URL» => «/uslugi/#ELEMENT_CODE#/»,
«DISPLAY_BOTTOM_PAGER» => «Y»,
«DISPLAY_DATE» => «Y»,
«DISPLAY_NAME» => «Y»,
«DISPLAY_PICTURE» => «Y»,
«DISPLAY_PREVIEW_TEXT» => «Y»,
«DISPLAY_TOP_PAGER» => «N»,
«FIELD_CODE» => array(
0 => «»,
1 => «»,
),
«FILTER_NAME» => «»,
«HIDE_LINK_WHEN_NO_DETAIL» => «N»,
«IBLOCK_ID» => «8»,
«IBLOCK_TYPE» => «gs_news»,
«INCLUDE_IBLOCK_INTO_CHAIN» => «N»,
«INCLUDE_SUBSECTIONS» => «Y»,
«MESSAGE_404» => «»,
«NEWS_COUNT» => «20»,
«PAGER_BASE_LINK_ENABLE» => «N»,
«PAGER_DESC_NUMBERING» => «N»,
«PAGER_DESC_NUMBERING_CACHE_TIME» => «36000»,
«PAGER_SHOW_ALL» => «N»,
«PAGER_SHOW_ALWAYS» => «N»,
«PAGER_TEMPLATE» => «.default»,
«PAGER_TITLE» => «Новости»,
«PARENT_SECTION» => «»,
«PARENT_SECTION_CODE» => «»,
«PREVIEW_TRUNCATE_LEN» => «»,
«PROPERTY_CODE» => array(
0 => «»,
1 => «»,
),
«SET_BROWSER_TITLE» => «Y»,
«SET_LAST_MODIFIED» => «N»,
«SET_META_DESCRIPTION» => «Y»,
«SET_META_KEYWORDS» => «Y»,
«SET_STATUS_404» => «N»,
«SET_TITLE» => «Y»,
«SHOW_404» => «N»,
«SORT_BY1» => «ACTIVE_FROM»,
«SORT_BY2» => «SORT»,
«SORT_ORDER1» => «DESC»,
«SORT_ORDER2» => «ASC»,
«STRICT_SECTION_CHECK» => «N»
),
false
);?>

Поле Параметр Описание Основные параметры Тип информационного блока (используется только для проверки) IBLOCK_TYPE Указывается один из созданных в системе типов информационного блока. Код информационного блока IBLOCK_ID Для выбранного типа инфоблока указывается идентификатор информационного блока, новости из которого будут выводиться. Количество новостей на странице NEWS_COUNT Указывается количество новостей, отображаемых на одной странице. По умолчанию — 20. Источник данных Поле для первой сортировки новостей SORT_BY1 Поле для первой сортировки новостей:

  • ID – по идентификатору;
  • NAME – по заголовку;
  • ACTIVE_FROM – по дате начала активности;
  • SORT – по индексу сортировки;
  • TIMESTAMP_X – по дате последнего изменения.

Выбрав пункт (другое)->, можно сформировать свой вариант поля для первой сортировки новостей. Направление для первой сортировки новостей SORT_ORDER1 Задается направление для первой сортировки новостей:

  • ASCПо возрастанию;
  • DESCПо убыванию.
Поле для второй сортировки новостей SORT_BY2 Поле для второй сортировки новостей:

  • ID – по идентификатору;
  • NAME – по заголовку;
  • ACTIVE_FROM – по дате начала активности;
  • SORT – по индексу сортировки;
  • TIMESTAMP_X – по дате последнего изменения.

Выбрав пункт (другое)->, можно сформировать свой вариант поля для второй сортировки новостей. Направление для второй сортировки новостей SORT_ORDER2 Задается направление для второй сортировки новостей:

  • ASCПо возрастанию;
  • DESCПо убыванию.
Фильтр FILTER_NAME Указывается имя переменной, в которой передается массив параметров из фильтра. Служит для определения выходящих из фильтра элементов. Если поле оставлено пустым, то используется значение по умолчанию. Поля FIELD_CODE Указываются поля, которые будут отображены на странице. Заполняется из публичной части редактора, удерживая клавишу Ctrl либо в коде, указывая массив:

Array("NAME","PREVIEW_TEXT","PREVIEW_PICTURE","DETAIL_TEXT",""),

При выборе пункта (не выбрано)-> и без указания вычисления полей в строках ниже (т.е. если задан пустой массив), на странице списка будут выведены поля по умолчанию. Свойства PROPERTY_CODE Указываются свойства, которые будут отображены на странице. Заполняется из публичной части редактора, удерживая клавишу Ctrl либо в коде, указывая массив. При выборе пункта (не выбрано)-> и без указания вычисления полей в строках ниже, на странице детального просмотра свойства не будут выведены. Показывать только активные на данный момент элементы CHECK_DATES [Y|N] При отмеченной опции будут показаны только активные на данный момент элементы. Шаблоны ссылок URL страницы детального просмотра (по умолчанию — из настроек инфоблока) DETAIL_URL Задается адрес, ведущий на страницу с детальной информацией элемента раздела (по умолчанию — из настроек инфоблока). Управление режимом AJAX Включить режим AJAX AJAX_MODE [Y|N] При установленной опции для компонента будет включен режим AJAX. Включить прокрутку к началу компонента AJAX_OPTION_JUMP [Y|N] Если пользователь совершит AJAX-переход, то при установленой опции по окончании загрузки произойдет прокрутка к началу компонента. Включить подгрузку стилей AJAX_OPTION_STYLE [Y|N] Если параметр принимает значение «Y», то при совершении AJAX-переходов будет происходить подгрузка и обработка списка стилей, вызванных компонентом. Включить эмуляцию навигации браузера AJAX_OPTION_HISTORY [Y|N] Когда пользователь выполняет AJAX-переходы, то при включенной опции можно использовать кнопки браузера «Назад» и «Вперед». Дополнительные настройки Максимальная длина анонса для вывода (только для типа текст) PREVIEW_TRUNCATE_LEN Указывается максимальная длина анонса для вывода (только для типа текст). При превышении параметра остаток текста будет отсечен. Формат показа даты ACTIVE_DATE_FORMAT Указывается формат показа даты. В выпадающем списке перечислены все возможные варианты показа даты, формируемые внутри компонента. Выбрав пункт (другое)->, можно сформировать свой вариант на основании php-функции date. Устанавливать заголовок страницы SET_TITLE [Y|N] При отмеченной опции в качестве заголовка страницы будет установлено имя текущего раздела. Устанавливать заголовок окна браузера SET_BROWSER_TITLE [Y|N] При отмеченной опции будет установлен заголовок окна браузера по заданному SEO-шаблону META TITLE (см. закладку «SEO» в инфоблоке). Устанавливать ключевые слова страницы SET_META_KEYWORDS [Y|N] При отмеченной опции будут установлены ключевые слова страницы по заданному SEO-шаблону META KEYWORDS (см. закладку «SEO» в инфоблоке). Устанавливать описание страницы SET_META_DESCRIPTION [Y|N] При отмеченной опции будет установлено описание страницы по заданному SEO-шаблону META DESCRIPTION (см. закладку «SEO» в инфоблоке). Устанавливать в заголовках ответа время модификации страницы SET_LAST_MODIFIED [Y|N] При отмеченной опции http-ответ сервера будет содержать время последнего изменения страницы (заголовок Last-Modified). Включать инфоблок в цепочку навигации INCLUDE_IBLOCK_INTO_CHAIN [Y|N] При отмеченной опции в цепочку навигации будет добавлено имя инфоблока. Включать раздел в цепочку навигации ADD_SECTIONS_CHAIN [Y|N] При отмеченной опции при переходе по разделам ифоблока в цепочку навигации будут добавлены названия разделов. Скрывать ссылку, если нет детального описания HIDE_LINK_WHEN_NO_DETAIL [Y|N] При отмеченной опции ссылки будут скрыты, если нет детальной информации или у пользователя нет прав на ее просмотр. ID раздела PARENT_SECTION Указывается числовой код раздела инфоблока, из которого будут выбраны новости. Поле может быть оставлено пустым, если указан Код раздела. Код раздела PARENT_SECTION_CODE Указывается символьный код раздела инфоблока, из которого будут выбраны новости. Поле может быть оставлено пустым, если указан ID раздела. Показывать элементы подразделов раздела INCLUDE_SUBSECTIONS [Y|N] При отмеченной опции будут отображены элементы подразделов раздела. Выводить дату элемента DISPLAY_DATE [Y|N] При отмеченной опции будут выведены даты элементов. Выводить название элемента DISPLAY_NAME [Y|N] При отмеченной опции для каждого элемента будет выведено его название. Выводить изображение для анонса DISPLAY_PICTURE [Y|N] При отмеченной опции будут выведены изображения для элемента, если они заданы. Выводить текст анонса DISPLAY_PREVIEW_TEXT [Y|N] При отмеченной опции будет выведен текст анонса для элементов, если он определен. Настройки кеширования Тип кеширования CACHE_TYPE Тип кеширования:

  • A — Авто + Управляемое: автоматически обновляет кеш компонентов в течение заданного времени или при изменении данных;
  • Y — Кешировать: для кеширования необходимо определить время кеширования;
  • N — Не кешировать: кеширования нет в любом случае.
Время кеширования (сек.) CACHE_TIME Время кеширования, указанное в секундах. Кэшировать при установленном фильтре CACHE_FILTER [Y|N] При отмеченной опции каждый результат, полученный из фильтра, будет кешироваться. Учитывать права доступа CACHE_GROUPS [Y|N] При отмеченной опции будут учитываться права доступа при кешировании. Настройки постраничной навигации Шаблон постраничной навигации PAGER_TEMPLATE Указывается название шаблона постраничной навигации. Выводить над списком DISPLAY_TOP_PAGER [Y|N] При отмеченной опции постраничная навигация будет выведена вверху страницы, над списком. Выводить под списком DISPLAY_BOTTOM_PAGER [Y|N] При отмеченной опции постраничная навигация будет выведена внизу страницы, под списком. Название категорий PAGER_TITLE Задается название категорий, по которым происходит перемещение при детальном просмотре (например, страница, глава и др.). Выводить всегда PAGER_SHOW_ALWAYS [Y|N] При отмеченной опции постраничная навигация будет выводиться всегда. По умолчанию выключено. Использовать обратную навигацию PAGER_DESC_NUMBERING [Y|N] При отмеченной опции будет использоваться обратная навигация. Для обратной навигации в системе происходит обратный отсчет страниц (последняя страница считается первой). Таким образом, постоянно меняется лишь последняя страница при добавлении нового элемента. Это верно, если новые элементы попадают всегда вверх списка (отсортированы по дате начала активности по убыванию). Время кеширования страниц для обратной навигации PAGER_DESC_NUMBERING_CACHE_TIME Задается время кеширования страниц для обратной навигации. Показывать ссылку «Все» PAGER_SHOW_ALL [Y|N] При отмеченной опции в постраничную навигацию будет добавлена ссылка Все, с помощью которой можно отобразить все новости. По умолчанию выключено. Включить обработку ссылок PAGER_BASE_LINK_ENABLE [Y|N] При отмеченной опции доступна обработка ссылок для постраничной навигации. Становятся активными

дополнительные поля.

Дополнительные поля:

Url для построения ссылок (по умолчанию — автоматически) PAGER_BASE_LINK Задается адрес для построения ссылок. Если в параметре ничего не указывать, то адрес будет построен автоматически.
Имя массива с переменными для построения ссылок в постраничной навигации PAGER_PARAMS_NAME Задается имя переменной, в которой передается массив с переменными для построения ссылок компонентом постраничной навигации.



Настройки 404 ошибки Устанавливать статус 404 SET_STATUS_404 [Y|N] Опция служит для включения обработки ошибки 404 в компоненте. Показ специальной страницы SHOW_404 [Y|N] При отмеченной опции будет показана

специальная страница

Станет активным поле:

Страница для показа (по умолчанию /404.php) FILE_404 Задается адрес страницы, которая будет отображаться при возникновении ошибки 404.




в случае возникновения ошибки 404, в противном случае — будет отображено

специальное сообщение.

Станет активным поле:

Сообщение для показа (по умолчанию из компонента) MESSAGE_404 Задается сообщение, которое будет показано в случае возникновения ошибки 404. Если ничего не указывать, то будет использоваться стандартное сообщение из компонента.



Внимание! При передаче символьного кода раздела (SECTION_CODE) выполняется дополнительная проверка на принадлежность раздела к инфоблоку, указанному в параметре IBLOCK_ID и активность с учетом вышележащих разделов. При передаче идентификатора раздела (SECTION_ID) такая проверка не производится.

Осваиваю Битрикс. Столкнулся со следующей проблемой. Создал новостной инфлоблок. Анонсы новостей выводятся как положено, но при попытке перейти на детальный просмотр новости выводится ошибка «404 Not Found». Объясните почему и как это решить.

Мой файл urlewrite.php содержит следующий код:

   <?php
$arUrlRewrite=array (
  0 => 
  array (
    'CONDITION' => '#^\\/?\\/mobileapp/jn\\/(.*)\\/.*#',
    'RULE' => 'componentName=$1',
    'ID' => NULL,
    'PATH' => '/bitrix/services/mobileapp/jn.php',
    'SORT' => 100,
  ),
  1 => 
  array (
    'CONDITION' => '#^/rest/#',
    'RULE' => '',
    'ID' => NULL,
    'PATH' => '/bitrix/services/rest/index.php',
    'SORT' => 100,
  ),
  2 => 
  array (
    'CONDITION' => '#^/news/#',
    'RULE' => '',
    'ID' => 'bitrix:news',
    'PATH' => '/news/index.php',
    'SORT' => 100,
  ),
);

Настройки инфоблока следующие введите сюда описание изображения

Одна из проблем, которая возникает при настройке 404 ошибки для Битрикс: движок наотрез отказывается отдавать 404 ошибку, если секция (раздел) не существует. Вместо 404 мы видим список всех элементов. Например:

Существующий адрес /news/about/ выводит новости только раздела about, а не существующий адрес /news/blablabla/ выдаст абсолютно все элементы из всех категорий. Причем параметры для вывода ошибки установлены верно:

"SET_STATUS_404" => "Y",
"SHOW_404" => "Y",

Как оказалось, сообщения об этом баге можно встретить на форуме еще в 2009 году. А исправить ошибку достаточно просто: просто добавьте параметр "STRICT_SECTION_CHECK" => "Y", в компонент news.list.

Например, если этот баг встречается в компоненте bitrix:news, то переходим в шаблон, находим файл section.php, который отвечает за вывод раздела и в параметрах компонента news.list добавляем «STRICT_SECTION_CHECK» => «Y». Все, страница с неверным адресом будет отдавать ошибку.

404 ошибка раздела Битрикс

Самое забавное, что такой параметр даже не описывается в документации, что крайне прискорбно.

It is necessary to display the elements of the catalog without a section — as a list. Implemented via bitrix: news.list.
The elements were displayed without problems, as a list, but the detailed view of the elements does not work, it gives 404.
Infoblock URL settings — 613faa9275993570711380.png

Component code — <? $ APPLICATION-> IncludeComponent (
«bitrix: news.list»,
«template1»,
array (
«ACTIVE_DATE_FORMAT» => «d.m.Y»,
«ADD_SECTIONS_CHAIN» => «Y»,
«AJAX_MODE» => «N»,
«AJAX_OPTION_ADDITIONAL» => «»,
«AJAX_OPTION_HISTORY» => «N»,
«AJAX_OPTION_JUMP» => «N»,
«AJAX_OPTION_STYLE» => «Y»,
«CACHE_FILTER» => «N»,
«CACHE_GROUPS» => «Y»,
«CACHE_TIME» => «36000000»,
«CACHE_TYPE» => «A»,
«CHECK_DATES» => «Y»,
«COMPONENT_TEMPLATE» => «template1»,
«DETAIL_URL» => «/ uslugi / # ELEMENT_CODE # /»,
«DISPLAY_BOTTOM_PAGER» => «Y»,
«DISPLAY_DATE» => «Y»,
«DISPLAY_NAME» => «Y»,
«DISPLAY_PICTURE» => «Y»,
«DISPLAY_PREVIEW_TEXT» => «Y»,
«DISPLAY_TOP_PAGER» => «N»,
«FIELD_CODE» => array (
0 => «»,
1 => «»,
),
«FILTER_NAME» => «»,
«HIDE_LINK_WHEN_NO_DETAIL» => «N»,
«IBLOCK_ID» => «8»,
«IBLOCK_TYPE» => «gs_news»,
«INCLUDE_IBLOCK_INTO_CHAIN» => «N»,
«INCLUDE_SUBSECTIONS» => «Y»,
«MESSAGE_404» => «»,
«NEWS_COUNT» => «20»,
«PAGER_BASE_LINK_ENABLE» => «N»,
«PAGER_DESC_NUMBERING» => «N»,
«PAGER_DESC_NUMBERING_CACHE_TIME» => «36000»,
«PAGER_SHOW_ALL» => «N»,
«PAGER_SHOW_ALWAYS» => «N»,
«PAGER_TEMPLATE» => «.default»,
«PAGER_TITLE» => «News»,
«PARENT_SECTION» => «»,
«PARENT_SECTION_CODE» => «»,
«PREVIEW_TRUNCATE_LEN» => «»,
«PROPERTY_CODE» => array (
0 => «»,
1 => «»,
),
«SET_BROWSER_TITLE» => «Y»,
«SET_LAST_MODIFIED» => «N»,
«SET_META_DESCRIPTION» => «Y»,
«SET_META_KEYWORDS» => «Y»,
«SET_STATUS_404» => «N»,
«SET_TITLE» => «Y»,
«SHOW_404» => «N»,
«SORT_BY1» => «ACTIVE_FROM»,
«SORT_BY2» => «SORT»,
«SORT_ORDER1» => «DESC»,
«SORT_ORDER2» => «ASC»,
«STRICT_SECTION_CHECK» => «N»
),
false
) ;?>

Понравилась статья? Поделить с друзьями:
  • Биос выдает ошибку клавиатуры
  • Битторрент ошибка ввода вывода
  • Бинар 5s ошибка 37 дизель как исправить
  • Битовые ошибки потока е1
  • Битрикс24 ошибка при вызове метода контекста отправитьдляобработки