Ключевые понятия
Расширение - это произвольный php-код, дополняющий функционал движка. Расширения загружаются на всех страницах сайта. Расширение состоит из:
- запись в БД, в таблице site_extensions (в ней может стоять пометка "расширение отключено", в этом случае оно не загружается)
- отдельная папка в директории extensions (имя папки соответсвует названию расширения)
- внутри папки должен присутсвовать файл extension.php - этот файл называется "загрузчиком" расширения. Он должен указать движку необходимые к загрузке файлы расширений (а также момент их выполнения) с помощью функции register_extension_file(). Замечание: расширение считается загруженным с момента подключения загрузчика.
- файлы локализации расширения (не обязателен), лежащие в папке lang (имя папки должно совпадать с именем расширения и иметь префикс "extension_")
- дополнительные файлы (не обязательно). Могут лежать в паках: public и templates. В самой папке расширения разрешается хранить любые файлы и подпапки.
Замечание: В движке предусмотрена система подключения файлов расширений в указанные метки. В движке, в ключевых точках, производится вызов функции include_extension_files() с заданной меткой ("метка", или "load" - целое число, в диапазоне от 1 до 42).
Расширения могут с помощью функции register_extension_file() указывать файлы, которые нужно подключать в заданные метки.
Модуль - это произвольный php-код, задача которого вывести HTML-код. Запускается на указанных страницах. Модуль состоит из:
- отдельная папка в директории modules (имя папки соответсвует названию модуля)
- внутри папки должен присутсвовать файл default.php - в этом файле задаются настройки по умолчанию модуля. Замечание: все настройки модуля должны передаваться только через локальный массив $CONFIG.
- внутри папки должен присутсвовать файл module.php - в этом файле содержится сам код модуля. Этот файл получает массив $CONFIG с текущими параметрами, и согластно этим данным должен вывести HTML-код (досточно обычного echo)
- отдельная папка в директории settings (имя папки соответсвует названию модуля), внутри которой находятся файлы настроек модуля. Каждый файл настроек - это php-файл, который получает локальный массив $CONFIG, который сгенерировал файл default.php модуля. Задача файла настроек - переопределить часть (или все) настройки модуля на необходимые. Допускается вычисление настроек "на лету". Замечание: для корректной работы редактора файлов настроек (через административную панель) требуется, чтобы произвольный php-код был выше любых присваиваний в массив $CONFIG (если необходимо сложное вычисление - используйте локальную переменную, которую потом присвоете в нужный ключ массива $CONFIG).
- запись в БД, в таблице site_modules (в ней указываются имя модуля и файл настроек модуля. Также тут присваивается текстовове описание и уникальный ID для связки: имя модуля + файл настроек. По этому ID может выводится в секциях, шаблнах, модулях.)
- шаблон модуля - отдельная папка в директории templates.
Иногда модулем называется только отдельная папка в директории modules.
Запись в БД, а также содержимое файла настроек редактируется через административную панель.
Материал - текстовое наполнение, хрянящиеся в БД (таблица site_contents) под уникальным ID. По этому ID может выводится в секциях, шаблнах, модулях. Текст редактируется через административную панель в визуальном редакторе.
Шаблон - запись в БД (таблица site_templates) под уникальным ID, а также php-файл произвольного содержания в папке templates. По этому ID может вызываться в секциях, шаблнах, модулях. PHP-код редактируется через административную панель.
Шаблон сайта - запись в БД (таблица site_pages_templates) под уникальным ID, а также php-файл произвольного содержания в папке templates. Этот ID может указываться для страниц сайта.
Секция (шаблона) - способ деления шаблона сайта на отдельные части. Каждая секция может содержать: материалы, модули, шаблоны.