Загрузчик шаблонов

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

При запуске загрузчик получает список тем, которые уже существуют в базе данных, а также определяет активную тему. Затем он сканирует каталог templates и ищет директории, содержащие файл theme.php. Этот файл должен возвращать конфигурационный массив с обязательными параметрами id и name. Если параметры отсутствуют, тема пропускается.

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

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

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

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