Kedu — How it works
@petchenushkaКеду - это федеральный портал об образовании. На нем могут найти друг друга те, кто хочет получить образование и те, кто это образование дает.
За основу выбрали Bitrix. Редакция - стандарт.
Выбрали то, с чем лучше всего умеем работать. Плюс в Bitrix из коробки дает довольно неплохую админку для работы контент-менеджеров.
Архитектура
Подключен Composer, используем необходимые пакеты.
Для упорядочивания важного кода используется php-cs-fixer.
Автодеплой с использование Rocketeer, подхватывается ветка master.
Для внесения правок в структуру БД используем консольные миграции для Битрикс на базе Symphony console.
Для роутинга активно используется urlrewrite.php.
В общих чертах пытаемся придерживаться этой модели ветвления.
Основной модуль
Основа - собственный модуль. Для работы с различными сущностями - отдельные классы.
Пример основного класса модуля.
Основная логика при работе с админкой и добавлением/изменением данных реализована через события.
Пример обработки событий для инфоблоков.
Некоторые параметры зашиты как стандартные в модуле, некоторые - редактируются из настроек модуля.
Пример задания стандартных параметров для модуля.
Компоненты и шаблоны
Для больших разделов сайта используются комплексные компоненты. Как правило они относятся к модулю.
Реализуется правильное разделения с использованием result_modifier и component_epilog.
Пример комплексного компонента по работе с каталогом учебных заведений.
Верстка
Как основной Фреймворк для работы со стилями используется Bootstrap 4.
Стили пишутся и собираются с использованием препроцессора SCSS.
Пример styles.scss, из которого собираются готовые стили.