Технологии
Ниже представлена общая информация по основным технологиям системы.
Полный список технологий в Документации для разработчиков:
Агенты – псевдо-крон, технология позволяющая запускать PHP функции с заданной
периодичностью.
Почтовая система – позволяет отправлять E-Mail письма с использованием
заранее заданных почтовых шаблонов.
Кеширование – позволяет кешировать ресурсоемкие куски кода, при этом
заметно увеличивая производительность сайта.
Отложенные функции – это технология, позволяющая задавать заголовок страницы, пункты навигационной цепочки, CSS-стили, дополнительные кнопки в панель управления, мета-теги и т.п. с помощью функций, используемых непосредственно в теле страницы.
Соответствующие результаты работы этих функций выводятся в прологе, то есть выше по коду, чем они были заданы.
Отложенные функции нельзя использовать в файлах шаблона компонента template.php и result_modifier.php (так как результаты их выполнения кешируются).
Перенос посетителей – технология, позволяющая синхронизировать по мере
возможности набор cookie для разных сайтов, имеющих разные доменные
имена и принадлежащие одному порталу.
Панель управления – технология, позволяющая облегчить администрирование
сайта.
Обработка событий – технология изменения выполнения какой-нибудь API
функции с помощью событий.
Внешняя авторизация – технология использования собственных алгоритмов
проверки и(или) внешние БД для хранения пользователей.
Модули
Bitrix Framework имеет модульную структуру. Каждый модуль отвечает за управление
определенными элементами и параметрами сайта: информационным наполнением и
структурой сайта, форумами, рекламой, рассылкой, распределением прав между
группами пользователей, сбором статистики посещений, оценкой эффективности
рекламных кампаний и т.д
Модуль – это модель данных и API для доступа к этим данным. Статические
методы классов модуля могут вызываться в компонентах, шаблонах, других
модулях. Также внутри контекста Bitrix Framework могут создаваться
экземпляры классов.
Модули в Bitrix Framework представляют собой модели и контроллеры нижнего уровня (в понятиях MVC), а компоненты – контроллеры верхнего уровня, включающие представления, которые основаны на иерархии файловой структуры сайта. Весь функционал любого сайта, как правило, реализуется на стандартных модулях, но приходится кастомизировать компоненты (или написать свои) для формирования и вывода страниц и подключать их на соответствующих страницах сайта.
Модули могут взаимодействовать между собой двумя способами: явно (прямым вызовом)
и скрыто (через систему событий).
Явное взаимодействие
Явное взаимодействие подразумевает:
- Подключение модуля с помощью функции CModule::IncludeModule;
- Непосредственный вызов метода класса или функции модуля.
Взаимодействие через события
Событие – это какое либо произвольное действие, в момент выполнения
которого (до или после) собираются все обработчики этого события и
выполняются по одному.
Компоненты
Компоненты – это основной инструмент разработчика при работе с проектами,
созданными на Bitrix Framework. От умения владеть этим инструментом во многом
зависит профессионализм разработчика.
Компонент – часть кода, с помощью API одного или нескольких модулей, манипулирует данными. Компонент использует шаблоны для вывода данных. Шаблон компонента выводит данные на страницу.
Компоненты используются для:
- создания полнофункциональных разделов на сайте, например новостного
раздела, фотогалереи, каталога товаров и т.д. Такие разделы создаются с
помощью комплексных компонентов; - создания часто используемых областей в шаблоне или на страницах сайта
(например, формы авторизации, формы подписки); - представления динамически обновляемой информации (например, ленты
новостей, случайного фото); - выполнения любых других операций с данными.
Простые компоненты
Простые (обычные, одностраничные) компоненты создают область на
странице.
Их удобно использовать, когда на одной странице требуется разместить
данные из различных модулей (блоги и инфоблоки, например) или данные из разных
инфоблоков (новости и каталог товаров). Для создания полного раздела новостей или
каталога товаров пользоваться ими довольно неудобно: приходится создавать большое
число статических страниц и следить за тем, чтобы они были корректно связаны друг с
другом.
Комплексные компоненты
Комплексные (сложные, многостраничные) компоненты создают разделы сайта.
Например, компонент каталога создает на сайте весь раздел каталога: список каталогов,
список групп и страницы товаров. То есть, комплексный компонент состоит из набора
динамических страниц при просмотре сайта, но из одной статической страницы на
физическом уровне. Комплексные компоненты строятся на основе простых компонентов,
используя их логику.
Инфоблоки
Информационные блоки – говномодуль, позволяющий создавать блоки однородной информации.
С помощью информационных блоков может быть реализована публикация различных типов динамической информации: каталоги товаров, блоки новостей, справочники и т.д.
С целью облегчения добавления информации можно применять импорт/экспорт данных с
использованием разных форматов файлов. Поддерживаются форматы:
RSS, CSV, XML
Экспорт и импорт в формате RSS организуются с помощью специальных компонентов
RSS новости (экспорт) (bitrix:rss.out) и RSS новости (импорт) (bitrix:rss.show)
соответственно.
<?php if(CModule::IncludeModule("iblock")) { //здесь можно использовать функции и классы модуля } ?>