Документация
Далее в подразделах вы найдёте подробное описание всего, что есть внутри Asrerix CMS. Но для начала, чтобы понять суть системы, прочитайте чуть-чуть полезной информации.
Определения
- Сайт состоит из данных (страниц), каждая запись имеет свой уникальный URL.
- Данные делятся на модули - обобщённые стуктуры данных - новости, акции, и т.д..
- Модуль состоит из структур, компонентов и интерфейсов.
- Структура - это записи модуля, или разделы записей.
- Компонент - отвечает за вывод опредёлнных данных из модуля.
- Интерфейс - отвечает за взаимодействие с пользователем в рамках модуля.
- Главный модуль - start. При необходимости, он ссылается на другие модули.
- Шаблоны отделены от логики.
Структуры
- $content - текущая запись в шаблоне доступна в виде {$content}.
- $ask - подробности запроса пользователя и запрошенной записи.
- $model - модель данных, состоящая из Модулей $model->modules.
- $user - пользователь всезда авторизован (даже под гостем).
- $config - файл конфигурации.
- $settings - настройки сайта из таблицы settings.
- Из шаблона можно обратиться к компонентам (preload) и интерфейсам (interface) модулей.
- По сути, шаблон управляет всей дополнительной логикой вывода.
Очерёдность работы ядра
Вам в работе может пригодиться логика запуска разных частей ядра. Вот упрощённая схема запуска разных частей. Здесь многое опущено, но так проще понять ход дела.
- запуск
- инициализация файла конфигурации
- авторизация пользователя
- запуск необходимого контроллера
- поиск запрошенной записи
- составление главного меню
- запись всех данных в шаблон записи
- запуск обращений к компонентам и интерфейсам из шаблона
- запись результатов обращений
- компиляция шаблона
- выдача страницы пользователю
Шаблоны
Для понимания работы шаблонов, нужно понять следующую вещь:
Весь сайт строится из записей.
К примеру, если есть модуль Новости, то сами записи новостей - это и есть основные записи модуля. Все другие структуры модуля новостей, к примеру Разделы, являются вспомогательными, которые помогают каталогизировать основные записи.
Исходя из этого, у каждого модуля на сайте есть всего три шаблона. К примеру, для новостей это будет:
- news_index.tpl - шаблон главной страницы модуля
- news_content.tpl - шаблон одной записи модуля
- news_list.tpl - шаблон списка записей модуля, используется для вспомогательных структур вроде списков и разделов модуля.
Эти шаблоны хранятся в /templates/, и разбиты по папочкам. Каждая папочка - это отдельный макет дизайна. В какой папочке лежат шаблоны для конкретного домена - значится в таблице domains в базе данных.
Официальный сайт разработчика
Сайт системы управления