Отличия от других CMS

1C-Битрикс: Управление сайтом — это система управления контентом (CMS) на основе Bitrix Framework. Как и другие CMS, например, WordPress и Joomla, она предоставляет инструменты для работы с контентом. Но каждая система имеет архитектурные отличия в организации данных, принципах работы с шаблонами и поддержке расширений.

Работа с контентом

1C-Битрикс: Управление сайтом

В 1C-Битрикс: Управление сайтом есть два типа контента.

  1. Статический — данные, которые редко изменяются: страницы сайта с текстовыми блоками и изображениями.

  2. Динамический — данные, которые обновляются регулярно: каталог товаров, новости.

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

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

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

WordPress

В WordPress основные единицы контента — запись (post) и страница. Записи обычно используются для блога, новостей или событий, а страницы — для статического контента, например, страниц О компании или Контакты.

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

Связи между записями реализуются через произвольные поля или плагины.

Joomla

В Joomla основная единица контента — статья. Статьи принадлежат к категории. Категории могут иметь вложенные подкатегории.

Расширяют возможности Joomla:

  • компоненты — обеспечивают функциональность разделов сайта,

  • модули — выводят функциональные элементы, например, меню и слайдеры,

  • плагины — обрабатывают события.

Статьи и дополнительные данные можно организовать через расширения.

Работа с базой данных

1C-Битрикс: Управление сайтом

В 1C-Битрикс используется объектная модель (ORM) для работы с данными. Система дает готовые методы API для выборки элементов информационных блоков и высокоуровневую абстракцию над SQL-запросами. Данные хранятся в структурированных таблицах, а связи между элементами реализуются через свойства типа Привязка к элементам..

WordPress

WordPress применяет класс WP_Query для выборки записей и страниц, а для прямых SQL-запросов — глобальный объект $wpdb. Данные хранятся в плоских таблицах, а связи организуются через таксономии или дополнительные плагины.

Joomla

Joomla использует абстракцию JDatabase с встроенным построителем запросов JDatabaseQuery. Статьи хранятся в таблице #__content, а расширения могут создавать собственные таблицы.

Шаблоны и отображение данных

1C-Битрикс: Управление сайтом

1C-Битрикс: Управление сайтом использует:

  • шаблоны сайта — задают общий дизайн сайта,

  • шаблоны компонентов — управляют отображением отдельных блоков сайта.

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

WordPress

WordPress использует темы, которые состоят из PHP-шаблонов, CSS и JavaScript. В выделенные зоны темы можно добавлять виджеты, например, в сайдбар. Виджеты сочетают в себе как логику работы, так и отображение.

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

Joomla

В Joomla шаблоны задают структуру сайта и содержат заранее заданные позиции для модулей. Модули размещаются в указанных зонах шаблона.

Компоненты в Joomla работают в рамках шаблона и отвечают за вывод основного контента страницы.

Организация данных

1C-Битрикс: Управление сайтом

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

WordPress

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

Связи между записями можно настроить через плагины.

Joomla

Данные в Joomla состоят из статей и категорий. Дополнительные данные можно добавить через расширения. Связи между элементами поддерживаются через внешние плагины и компоненты.

Поддержка расширений

1C-Битрикс: Управление сайтом

В 1C-Битрикс: Управление сайтом можно выбирать, какие модули нужны, например, интернет-магазин, торговый каталог и другие. Разработчики могут создавать собственные модули и компоненты или использовать готовые решения из Маркетплейса.

Модули требуют ручного описания файловой структуры. Разработчики создают PHP-классы в /local/modules/.

WordPress

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

Для создания плагина достаточно двух файлов: основного PHP-файла с мета-информацией и файла стилей или скриптов при необходимости.

Joomla

Joomla поддерживает расширения трех типов: компоненты, модули и плагины. Расширения добавляют новый функционал и позволяют изменять поведение CMS.

Расширения используют XML-манифест и PHP-файлы компонента или модуля.

Взаимодействие с ядром системы

1C-Битрикс: Управление сайтом

Система поддерживает расширение функционала через события, внедрение зависимостей и наследование классов. Разработчики могут создать собственные классы-наследники с измененной логикой в папке /local/.

WordPress

Использует событийную модель на основе хуков: actions и filters. Пользовательский код подключается через вызовы add_action() и add_filter(), что позволяет изменять поведение системы без модификации ядра.

Joomla

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

Сравнительная таблица особенностей

Характеристика 1C-Битрикс: Управление сайтом WordPress Joomla
Основной тип контента Элемент информационного блок Запись и страница Статья
Работа с базой данных Объектная модель (ORM) WP_Query JDatabase
Структура данных Независимые информационные блоки Записи, произвольные поля Статьи, расширяемые через плагины
Отображение данных Шаблоны, компоненты с шаблонами Темы, виджеты Шаблоны с модулями
Интеграция с ядром События, внедрение зависимостей и наследование классов Хуки: actions и filters События плагинов
Поддержка расширений Модули, компоненты Плагины, темы Компоненты, модули, плагины
Основное применение Магазины, корпоративные сайты Блоги, лендинги Сайты-визитки, блоги