Инфоблоки и компоненты 1С-Битрикс: объяснение для владельца сайта

Коротко

Инфоблоки Битрикса — это хранилища однотипного контента: товаров, новостей, услуг, сотрудников, отзывов. Компоненты — готовые программные блоки, которые берут данные из инфоблоков и выводят их на странице по шаблону. Почти любой сайт на 1С-Битрикс собран из этих двух частей: инфоблок отвечает за то, что хранится, компонент — за то, как и где это показать.

Владельцу не нужно программировать, чтобы работать с сайтом, но понимание этой схемы экономит деньги. Становится ясно, почему новое поле в карточке товара — это свойство инфоблока и правка шаблона, а не «перерисовка страницы», почему одни изменения делаются за полчаса в админке, а другие требуют разработчика. Ниже — простое объяснение с примерами.

ПонятиеЧто это простыми словамиПример
Тип инфоблоковПапка, в которой лежат похожие инфоблоки«Каталог», «Новости и статьи»
ИнфоблокТаблица для однотипных записей«Товары», «Новости», «Отзывы»
РазделПапка внутри инфоблока«Смартфоны» в каталоге
ЭлементОдна записьКонкретный товар или новость
СвойствоДополнительное поле элементаЦвет, артикул, производитель
КомпонентПрограммный блок выводаСписок новостей, карточка товара
Шаблон компонентаВнешний вид блокаПлитка или список, набор полей

Основная мысль

Инфоблоки — это данные, компоненты — логика, шаблоны — внешний вид; когда владелец понимает, к какому из трёх слоёв относится задача, он точнее ставит её разработчику и не переплачивает за лишнюю работу.

Разделение на слои придумано не для удобства программистов. Оно позволяет менять дизайн, не трогая данные, добавлять поля, не переписывая логику, и обновлять платформу, не теряя доработки. Если сайт сделан по этим правилам, большинство изменений локальны и предсказуемы по стоимости.

Проблемы начинаются, когда слои смешаны: цены вписаны прямо в шаблон, тексты услуг хранятся в файлах страниц вместо инфоблока, стандартные компоненты правились в системной папке. Такой сайт сложно развивать, и каждое изменение превращается в раскопки. Проверить это можно даже без глубоких знаний, и ниже есть подсказки, как.

Инфоблоки Битрикса: как устроено хранение контента

Инфоблок — центральная сущность модуля «Информационные блоки». Всё, что на сайте повторяется и имеет одинаковую структуру, обычно хранится именно в инфоблоках.

Типы инфоблоков, инфоблоки и разделы

Иерархия выглядит так: тип инфоблоков объединяет несколько инфоблоков, инфоблок содержит разделы и элементы, разделы могут быть вложенными. В административной части всё это находится в меню «Контент»: там видны типы инфоблоков, а внутри них — сами инфоблоки.

Например, тип «Каталог» может содержать инфоблок товаров и инфоблок торговых предложений. Тип «Новости и статьи» — инфоблоки новостей, статей и акций. Разделы работают как папки: «Смартфоны», «Ноутбуки», «Аксессуары».

Элементы инфоблоков битрикс

Элемент — одна запись: товар, новость, услуга, сотрудник. У каждого элемента есть стандартный набор полей:

  • название и символьный код, из которого обычно формируется адрес страницы;
  • активность и даты начала и окончания активности;
  • сортировка — число, которое задаёт порядок вывода;
  • картинка и текст для анонса — то, что видно в списках;
  • детальная картинка и детальное описание — то, что видно на странице элемента;
  • привязка к одному или нескольким разделам;
  • SEO-поля: шаблоны заголовка, описания и других метаданных.

Контент-менеджер редактирует элементы в административной части или прямо из публичной части сайта через режим правки. Ему не нужно знать, как устроен код: достаточно понимать, какое поле за что отвечает на странице.

Где хранятся данные

Все элементы и свойства лежат в базе данных сайта. Файлы — картинки, документы — хранятся в папке /upload/, а в базе сохраняются ссылки на них. Поэтому для резервной копии нужны и база, и файлы: одна база без /upload/ даст сайт без изображений.

Битрикс инфоблок: свойства и зачем они нужны

Стандартных полей хватает для новостей, но почти не хватает для каталога. Артикул, производитель, цвет, размер, материал, гарантия — всё это свойства инфоблока.

Какие бывают свойства

Тип свойстваДля чего используют
СтрокаАртикул, короткие характеристики
ЧислоВес, мощность, объём — всё, по чему фильтруют диапазоном
СписокВыбор из заранее заданных значений: цвет, материал
ФайлИнструкции, сертификаты, дополнительные фото
Привязка к элементамСвязанные товары, автор статьи, бренд
Привязка к разделамСвязь с разделом другого инфоблока
HTML/текстФорматированные блоки: состав, условия
Дата/времяСрок акции, дата события
СправочникЗначения из highload-блока, например цвета с образцами

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

Как свойства влияют на сайт

От того, как спроектированы свойства, зависят фильтр каталога, сравнение товаров, импорт из 1С и скорость работы. Если цвет хранится строкой, где у одного товара написано «черный», у другого «Черный», а у третьего «чёрный», фильтр покажет три разных цвета. Если то же свойство сделать списком или справочником, значения будут едиными.

Характерная ошибка — завести отдельное свойство под каждую мелочь. Через пару лет в инфоблоке сотни свойств, половина из них пустые, фильтр тормозит, а менеджеры путаются в карточке. Хорошая структура продумывается до наполнения, а не после.

Highload-блоки

Для больших справочников — цветов, брендов, складов, миллионов служебных записей — в Битриксе есть highload-блоки. Это отдельные таблицы в базе с минимумом служебной нагрузки. Они быстрее обычных инфоблоков на больших объёмах, но беднее по возможностям: нет разделов, прав на элементы и части привычного интерфейса.

Битрикс компоненты: что это и как они работают

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

Простые и комплексные компоненты

Компоненты 1С Битрикс делятся на простые и комплексные.

  • Простой компонент выполняет одну задачу: выводит список новостей, одну новость, меню, форму. Например, bitrix:news.list или bitrix:news.detail.
  • Комплексный компонент объединяет несколько простых и сам разбирает адреса страниц. Например, bitrix:news или bitrix:catalog обслуживают весь раздел: список, разделы, детальные страницы, поиск и фильтр.

Комплексные компоненты удобны: один раз подключили на странице раздела, и он сам строит все внутренние страницы с понятными адресами. Но их настройка сложнее, и ошибки в ней влияют сразу на весь раздел.

Где лежат компоненты

Стандартные компоненты поставляются с платформой и лежат в папке /bitrix/components/bitrix/. Собственные компоненты разработчики кладут в /local/components/ со своим пространством имён. Папку /bitrix/ перезаписывают обновления, поэтому ничего собственного в ней быть не должно.

Какие компоненты используются чаще всего

  • Каталог, умный фильтр, сравнение, корзина и оформление заказа — для магазинов.
  • Новости, список и детальная страница — для любых однотипных материалов: статей, услуг, проектов.
  • Меню, хлебные крошки, поиск, карта сайта — для навигации.
  • Веб-формы и подписка — для сбора заявок и рассылок.

Настройка компонента битрикс без программиста

Многие вещи владелец или контент-менеджер может поменять сам через параметры компонента.

Пошаговая инструкция

  1. Войдите на сайт под администратором и включите режим правки на панели в публичной части.
  2. Наведите курсор на нужный блок: вокруг компонента появится рамка с кнопками.
  3. Откройте окно редактирования параметров компонента.
  4. Измените нужное: количество элементов на странице, сортировку, выводимые поля и свойства, время кэширования, шаблон.
  5. Сохраните и проверьте страницу. Если блок стал выглядеть неправильно, верните прежние значения.

Что безопасно менять самостоятельно

  • количество элементов на странице и постраничную навигацию;
  • поле и направление сортировки;
  • набор выводимых полей и свойств, если шаблон их поддерживает;
  • заголовки блоков и тексты кнопок, если они вынесены в параметры;
  • инфоблок-источник — только если структура инфоблоков одинакова.

Что лучше доверить разработчику

Настройки адресов комплексных компонентов, режимы кэширования, параметры корзины и оформления заказа, привязку цен и складов. Ошибка в этих параметрах может сломать весь раздел каталога или оформление заказа, и заметно это станет не сразу.

Шаблон компонента битрикс: внешний вид блока

Шаблон отвечает за то, как данные выглядят на странице. Один и тот же компонент списка новостей может выводить карточки плиткой, списком или слайдером — меняется только шаблон.

Из чего состоит шаблон

  • template.php — основная разметка;
  • result_modifier.php — дополнительная подготовка данных перед выводом;
  • component_epilog.php — код, который выполняется после вывода, даже когда результат взят из кэша;
  • style.css и script.js — стили и скрипты блока;
  • папка lang — тексты интерфейса на разных языках.

Где правильно хранить шаблоны

Стандартные шаблоны лежат внутри папки компонента в /bitrix/components/. Править их там нельзя: при обновлении платформы изменения пропадут. Правильный путь — скопировать шаблон в папку шаблона сайта или в /local/templates/ и работать с копией. В режиме правки для этого есть команда копирования шаблона компонента.

Если разработчик правил стандартные файлы в /bitrix/, после очередного обновления часть доработок исчезнет. Как обновлять платформу без таких потерь, подробно описано в статье об обновлении 1С-Битрикс без потери доработок.

Когда нужен новый шаблон, а когда новый компонент

ЗадачаРешение
Поменять вид карточек в спискеНовый шаблон или правка копии шаблона
Добавить свойство на страницу товараСвойство в инфоблоке и правка шаблона
Вывести данные из двух инфоблоков в одном блокеResult_modifier или собственный компонент
Нестандартная логика: расчёт, интеграция, личный кабинетСобственный компонент в /local/components/

Инфоблоки в интернет-магазине: каталог, предложения, обмен с 1С

В магазине на Битриксе инфоблоки работают вместе с модулями «Торговый каталог» и «Интернет-магазин». Сами модули доступны не во всех редакциях: интернет-магазин появляется начиная с редакции «Малый бизнес».

Товары и торговые предложения

Товары хранятся в инфоблоке каталога. Если у товара есть варианты — размеры, цвета, комплектации, — их выносят в отдельный инфоблок торговых предложений, связанный с основным. У каждого предложения своя цена, остаток и артикул, а покупатель выбирает вариант на странице товара.

Правильное разделение важно для фильтра и для обмена с 1С. Если размер хранить свойством самого товара, нельзя вести отдельные остатки по размерам. Если завести каждый размер отдельным товаром, каталог разрастётся дублями, а карточки будут конкурировать между собой в поиске.

Цены, склады и обмен

Цены и остатки хранятся не в свойствах инфоблока, а в таблицах торгового каталога: типы цен, склады, количество. Поэтому поле «Цена», заведённое строковым свойством, — признак ошибки проектирования: такая цена не участвует в корзине, скидках и обмене.

При обмене с 1С товары, свойства и предложения создаются в инфоблоках автоматически. Здесь важно заранее договориться, какие свойства приходят из учётной системы, а какие заполняют на сайте, иначе очередной обмен может перезаписать ручные правки. Порядок настройки и типичные ошибки разобраны в статье о настройке обмена Битрикса с 1С.

Хранение свойств и скорость каталога

У инфоблоков есть два режима хранения свойств: все значения в общей таблице или в отдельной таблице для каждого инфоблока. Второй вариант, который часто называют инфоблоками 2.0, работает быстрее на больших каталогах с большим числом свойств. Переключать режим на живом сайте стоит только после резервной копии и проверки на тестовой копии: операция затрагивает все данные каталога.

Скорость каталога зависит и от того, сколько свойств участвует в фильтре, как настроено кэширование компонентов и нет ли тяжёлых выборок в шаблонах. Иногда один лишний запрос в шаблоне карточки, повторённый для каждого товара в списке, замедляет раздел сильнее, чем тысячи элементов в инфоблоке.

Права доступа и работа контент-менеджера

Инфоблоки позволяют гибко раздать права: кто-то только читает, кто-то редактирует новости, кто-то управляет каталогом. Права задаются для групп пользователей в настройках каждого инфоблока.

Как раздавать права

  1. Создайте отдельную группу пользователей для контент-менеджеров.
  2. В настройках нужных инфоблоков дайте этой группе право на изменение.
  3. На остальные инфоблоки оставьте только чтение или закройте доступ.
  4. Не включайте менеджеров в группу администраторов: им не нужен доступ к настройкам модулей, обновлениям и файлам.
  5. Проверьте права, войдя под тестовой учётной записью менеджера.

Документооборот и история изменений

Для инфоблоков можно включить хранение истории изменений элементов. Это помогает восстановить случайно испорченное описание товара или понять, кто и когда поменял цену. На крупных проектах используют и бизнес-процессы согласования, но для небольшого сайта обычно достаточно истории и аккуратно разданных прав.

Как проверить, правильно ли собран ваш сайт

Даже без навыков программирования можно оценить, насколько сайт удобен в развитии.

Признаки хорошей структуры

  • Товары, услуги, статьи, отзывы, сотрудники хранятся в инфоблоках, а не в тексте страниц.
  • Свойства названы понятно, у каждого ясная задача, пустых и дублирующих мало.
  • Доработки лежат в /local/, стандартные файлы платформы не изменены.
  • Контент-менеджер может добавить товар или услугу без помощи разработчика.
  • Шаблоны компонентов скопированы в шаблон сайта, а не правятся в системной папке.

Признаки проблем

  • Чтобы добавить услугу, нужно звонить разработчику и править HTML.
  • Цены или характеристики вписаны прямо в код шаблона.
  • Одинаковые данные заведены в нескольких инфоблоках и расходятся между собой.
  • После каждого обновления платформы что-то ломается.
  • Фильтр каталога показывает дубли значений.

Готовые решения на Битриксе, собранные на стандартных инфоблоках и компонентах, заметно проще поддерживать. Примеры можно посмотреть в разделе готовых решений на 1С-Битрикс.

Сценарии из практики

Ситуации собирательные, но типичные для сайтов на Битриксе.

Нужно добавить в карточку товара блок «Документы»

Владелец хочет, чтобы у каждого товара были сертификаты и инструкции в PDF. Решение: множественное свойство типа «Файл» в инфоблоке товаров и небольшая правка шаблона детальной страницы. Данные заполняют менеджеры, а блок сам не показывается там, где файлов нет.

Услуги свёрстаны отдельными страницами

Каждая услуга — отдельная HTML-страница с ручной вёрсткой. Изменение цены или добавление услуги требует правки кода. Переход на инфоблок «Услуги» с комплексным компонентом новостей решает задачу: менеджер добавляет элемент, а страница, список и меню формируются автоматически.

После обновления пропал вид каталога

Шаблон каталога правили прямо в /bitrix/components/, и обновление вернуло стандартную вёрстку. Восстановить доработку помогает резервная копия, а затем шаблон переносят в шаблон сайта, чтобы ситуация не повторилась.

Фильтр показывает «красный», «Красный» и «красн.»

Цвет хранился строкой и заполнялся вручную. Свойство переводят в список или справочник, значения нормализуют, и фильтр становится понятным для покупателя.

Типичные ошибки и чек-лист

Ошибки при работе с инфоблоками и компонентами

  • Править стандартные компоненты и шаблоны в /bitrix/. Всё пропадёт при обновлении.
  • Хранить повторяющийся контент в тексте страниц, а не в инфоблоках.
  • Создавать свойства без плана — десятки дублей и пустых полей.
  • Использовать строку там, где нужен список или число, — фильтр и сортировка работают плохо.
  • Отключать кэш у компонентов, чтобы данные «сразу обновлялись».
  • Давать контент-менеджеру права администратора вместо прав только на нужные инфоблоки.
  • Не документировать доработки — следующий разработчик тратит часы на разбор.

Чек-лист для владельца

  • Весь повторяющийся контент хранится в инфоблоках.
  • У свойств понятные названия и типы, без дублей.
  • Собственные компоненты и шаблоны лежат в /local/ или шаблоне сайта.
  • Права контент-менеджеров ограничены нужными инфоблоками.
  • Есть описание структуры инфоблоков и доработок.
  • Резервные копии включают базу и папку /upload/.
  • Редакция лицензии подходит под задачи: какие модули входят в разные версии, разобрано в статье о редакциях 1С-Битрикс.

Частые вопросы

Что такое инфоблоки в Битриксе простыми словами?

Это таблицы для однотипного контента: товаров, новостей, услуг. У каждой записи одинаковый набор полей, поэтому её легко выводить списком, фильтровать и редактировать.

Чем элемент инфоблока отличается от раздела?

Раздел — папка для группировки, элемент — сама запись. Товар — элемент, категория каталога — раздел.

Как добавить новое свойство в инфоблок?

В административной части откройте редактирование инфоблока и перейдите к списку свойств, задайте название, код и тип. Чтобы свойство появилось на сайте, его нужно вывести в шаблоне компонента или отметить в его параметрах.

Что такое компоненты 1С Битрикс?

Готовые программные блоки, которые получают данные, чаще всего из инфоблоков, и выводят их через шаблон. Есть простые компоненты для одной задачи и комплексные для целого раздела.

Можно ли самому поменять настройки компонента?

Да, через режим правки в публичной части. Безопасно менять количество элементов, сортировку и выводимые поля. Кэш, адреса и параметры оформления заказа лучше оставить разработчику.

Где хранится шаблон компонента Битрикс?

Стандартные — в папке компонента в /bitrix/components/. Изменённые копии хранят в папке шаблона сайта или в /local/templates/, чтобы обновления их не затирали.

Почему после обновления Битрикса сломался вид страницы?

Скорее всего, кто-то правил стандартные файлы в /bitrix/, и обновление их перезаписало. Шаблон нужно восстановить из копии и перенести в шаблон сайта.

Что лучше для большого справочника: инфоблок или highload-блок?

Для десятков тысяч и более простых записей без разделов и сложных прав лучше highload-блок. Для контента с разделами, анонсами и детальными страницами — инфоблок.

Сколько стоит доработка инфоблоков и шаблонов?

Зависит от объёма: добавить свойство и вывести его в карточке — задача на час-два, перестройка каталога — на дни. Поддержка и доработка у меня стоят от 2 000 ₽ в час.

Итог

Инфоблоки хранят контент, компоненты его получают, шаблоны показывают. Элементы, разделы и свойства инфоблоков задают структуру данных, а параметры и шаблоны компонентов — то, как эти данные выглядят на страницах. Понимание этих трёх слоёв помогает владельцу ставить задачи точнее и оценивать их стоимость.

Хорошо собранный сайт на 1С-Битрикс хранит всё повторяющееся в инфоблоках, держит доработки в /local/ и шаблоне сайта, не трогает системные файлы и позволяет менеджерам работать без программиста. Такой проект спокойно обновляется и растёт годами.

Если на вашем сайте сложно добавить товар или услугу, после обновлений что-то ломается или каталог требует перестройки, я как частный разработчик на 1С-Битрикс и WordPress разберу структуру инфоблоков и компонентов и доработаю её без потери данных. Работаю напрямую, без посредников — подробности на странице доработки сайта на 1С-Битрикс.

Что будем искать? Например,Продвижение