Настройка новостного раздела на 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Настройка новостного раздела на 1С-Битрикс
Простая
~1 рабочий день
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1177
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    747
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Настройка новостного раздела на 1С-Битрикс

Новостной раздел — один из первых, что настраивают на свежем Битриксе, и один из самых часто сломанных. Типичные проблемы: дублирование URL, кеш не сбрасывается при публикации, изображения не отображаются в нужном размере. Разберём настройку от инфоблока до постраничной навигации.

Инфоблок новостей: обязательные настройки

Создаёте инфоблок с типом news, символьный код news. Ключевые параметры при создании:

  • BIZPROC = N — бизнес-процессы для новостей избыточны, включение замедляет запись
  • VERSION = 2 — хранение свойств в отдельных таблицах (b_iblock_element_prop_s{id}), быстрее для больших объёмов
  • INDEX_ELEMENT = Y, INDEX_SECTION = Y — для поиска
  • DETAIL_PAGE_URL = /news/#ELEMENT_CODE#/ — URL детальной страницы через символьный код, не ID

Символьный код (CODE в b_iblock_element) заполняйте автоматически: в настройках инфоблока включите TRANSLIT_AUTOFIELD_NAME = Y. Это генерирует транслит из названия новости при сохранении. Без этого редакторы оставляют поле пустым, и Битрикс падает в ошибку 404 на детальных страницах.

Свойства инфоблока для новостей:

  • SOURCE — источник, тип Строка
  • AUTHOR — автор, тип Привязка к пользователю или просто Строка
  • TAGS — теги, множественная Строка (или встроенное поле TAGS)

Компоненты: list и detail

Пара bitrix:news.list + bitrix:news.detail — стандарт. Размещаете их через составной компонент bitrix:news или отдельно.

Параметры bitrix:news.list, на которые обратить внимание:

IBLOCK_TYPE = news
IBLOCK_ID = <id вашего инфоблока>
SORT_BY1 = ACTIVE_FROM
SORT_ORDER1 = DESC
CACHE_TYPE = A
CACHE_TIME = 3600
DISPLAY_DATE = Y
PAGER_SHOW = Y
PAGER_TEMPLATE = .default

Кеш CACHE_TIME = 3600 с автоматической инвалидацией (CACHE_TYPE = A) — оптимально. При публикации новости через CIBlockElement::Add() или через административный интерфейс Битрикс автоматически сбрасывает кеш компонента. Если этого не происходит — проверьте, что BXClearCache не отключён глобально в настройках кеширования.

В template.php списка стандартный набор вывода: $arItem["NAME"], $arItem["PREVIEW_TEXT"], $arItem["PREVIEW_PICTURE"], $arItem["DISPLAY_ACTIVE_FROM"]. Для изображений Битрикс хранит оригинал в /upload/, а ресайзы генерирует через CFile::ResizeImageGet() с записью в /upload/resize_cache/.

Постраничная навигация и ЧПУ

Пагинация в bitrix:news.list работает через GET-параметр PAGEN_1 (или кастомное имя). Проблема: при индексации Google видит /news/?PAGEN_1=2 как дублирующийся URL. Решение: используйте шаблон пагинации с <link rel="next"> и <link rel="prev"> в <head> — добавляйте их в component_epilog.php.

Для ЧПУ-пагинации вида /news/page/2/ нужна кастомизация: компонент не поддерживает это из коробки, реализуется через urlRewrite.php или через переопределение шаблона навигации.

RSS-лента

Новостной раздел часто требует RSS. Модуль rss в Битриксе — компонент bitrix:rss.export. Настраивается аналогично bitrix:news.list, генерирует валидный RSS 2.0 или Atom. Подключается на отдельной странице /news/rss.php с типом контента application/xml.

При активном кешировании RSS обновляется с задержкой — устанавливайте CACHE_TIME для RSS-страницы не более 900 секунд или сбрасывайте кеш при публикации через обработчик события OnAfterIBlockElementAdd.

Автопубликация и отложенные новости

Поля ACTIVE_FROM и ACTIVE_TO в b_iblock_element управляют временем публикации. Элемент с ACTIVE_FROM в будущем не отображается в компонентах при стандартной фильтрации. Для автопубликации в точное время нужен агент (таблица b_agent), который регулярно сбрасывает кеш или проверяет публикацию — стандартный агент CIBlockAgent::CheckDiskQuota не подходит, пишете свой.