Пример создания модуля и компонентов для 1C-Bitrix, включают почти всё, что может пригодиться при разработке своих решений. Каждый шаг описан множеством комментариев. При создании пытался задействовать большинство возможностей. В компонентах описаны основные возможности (использование контроллеров, ajax, кеширование разных видов, использование навигации для своей ORM-сущности).
Сделано с целью иметь готовый модуль болванку с подробным описанием. Также многое, что описано в текущей документации по разработке, курсах и видеокурсах от bitrix не работает или не применимо для ORM, или описано крайне сухо, что приходится изучать методом тыка. Здесь всё реализовано и описано доступно.
Версия на момент создания - 1С-Битрикс: Управление сайтом 22.375.100.
- Установку модуля, содержащую:
- Создание таблиц, описанных с помощью ORM-сущностей
- Установку агентов
- Установку событий
- Установку файлов:
- Копирование файлов компонентов (есть опциональный метод для установки в папку local)
- Копирование файлов для административной части
- Наполнение тестовым контентом
- Описание прав доступа к модулю
- Удаление модуля, содержащее:
- Процесс удаления модуля в несколько шагов, с предложением сохранить существующие данные (таблицы в бд и заданные настройки модуля)
- Удаление таблиц, описанных с помощью ORM-сущностей
- Удаление агентов
- Удаление событий
- Удаление файлов:
- Компонентов (есть опциональный метод для удаления из папки local)
- Файлов для административной части
- Описанные ORM-сущности (две таблицы для примера работы связей (одна связана с другой))
- Пример класса агента модуля и метода для выполнения, который регистрируется и начинает выполняться при установке
- Примеры событий, одно из них реализовано в ORM-сущности, второе при установке
- Описанная страница настроек модуля для административной части с тестовыми параметрами (и их сохранением), включающая вкладку редактирования прав
- Страницы административной части:
- Страница списка ORM-сущности (просмотра элементов таблицы созданной в базе данных) с возможностью удаления, редактирования, пагинации и фильтрации по всем параметрам
- Страница создания и редактирования элемента
- Описанный файл меню, для добавления кнопок страниц модуля
- Примеры компонентов, работающих с разными технологиями и ORM-сущностью:
- Компоненты содержат полное описание, массив параметров, доступны для выбора в редакторе
- Каждый компонент имеет описание, в зависимости от того, для чего он предназначен, если функционал был описан в другом компоненте, то он не затрагивается, поэтому для изучения рекомендуется использовать очередность, сделано, чтобы не захламлять каждый компонент множеством комментариев
- Очередность и созданные компоненты:
- book : полная структура компонента с описанием, тестовыми входными параметрами, тестовыми методами в классе для показа работы с ORM-сущностью
- book.nav : компонент с выборкой и навигацией
- book.cached : компонент с неуправляемым кешированием (обычным)
- book.cached.nav : компонент с неуправляемым кешированием и постраничной навигацией
- book.cached.difficult : компонент со сложным кешированием (единый класс кеширования в D7)
- book.cached.dependencies.iblock : тегированное кеширование с инфоблоками
- book.cached.dependencies.tag : тегированное кеширование со своим тегом (когда требуется обновлять информацию при изменении своей ORM-сущности, потребуется доработка - создать прописать свои события, есть примеры)
- book.ajax.simple : очень простой пример и объяснения использования ajax в bitrix
- book.controllers : пример работы с контроллерами в компонентах битрикс
- book.composite : шпаргалка по использованию композита, пример использования композита в шаблоне компонента (вся информация в template.php)
- catalog.section.list.nav : доработанный компонент битрикса для использования с постраничной навигацией при выводе разделов
- Страницы административной части, вывод и настройка меню: /admin/
- Установка и файлы: /install/:
- Скрипты вызова страниц админки: /install/admin/
- Компоненты: /install/components/
- ORM-сущности: /lib/
- Языковые файлы: /lang/
- Страница настроек модуля: /options.php