Современная, быстрая и удобная система управления сайтом

Общая схема работы MaxSite CMS

Перед тем, как начать работать с MaxSite CMS, желательно получить начальную информацию, которая поможет лучше понять устройство системы.

Это краткий обзор, больше информации вы найдёте в последующих разделах документации.
Общая схема работы MaxSite CMS

В момент загрузки сайта, происходит подключение ядра CodeIgniter и некоторых его библиотек (куки/сессии, база данных MySQL). Дальше управление передаётся в контролёр MaxSite CMS, где происходит роутинг, основанный на входящем URL.

Первый сегмент URL определяет т.н. тип данных, что позволяет выделить различные варианты вывода данных. В MaxSite CMS существует ряд предопределённых типов, которые используются для большинства типовых задач любого сайта. Это page — одиночная страница, category — рубрика, tag — метка и т.д. Если тип данных неизвестен системе, то ему присваивается имя page_404.

После того, как тип данных определён, загружается ядро MaxSite CMS, подключаются активированные плагины и выполняется начальная инициализация по хуку init (обычно это определяется в плагинах). Уже после этого подключается текущий шаблон сайта.

Шаблон

В шаблоне существует только один обязательный файл — index.php. Файл info.php содержит описание шаблона для админ-панели. Файл screenshot.png (или jpg) — миниатюра внешнего вида шаблона размером 250х200px также предназначен для админ-панели.

Самый простой вариант шаблона состоит из index.php :

<?php

echo 'Hello, world!';

Понятно, что такой вариант не имеет особого практического смысла, поэтому MaxSite CMS предлагает создание шаблона на основе готовых функций и модулей, где сложный php-код вынесен отдельно.

В такой схеме в index.php размещается диспетчер типов данных, который и выполняет все нужные подключения и получение данных для вывода.

Сам вывод формируется в зависимости от типа данных в type-файлах. Именно в type-файле происходит непосредственное получение данных. Например для одиночной страницы получается текст, а для рубрики — массив страниц. Основные type-файлы располагаются в shared-каталоге и могут быть переопределены при необходимости в самом шаблоне.

Формирование html-кода выполняется в разных частях шаблона, но сам вывод происходит на основе модульной сетки (main-файл), которая содержит html-код каркаса страницы, а также различные подключения компонентов, файлов и т.п.

Кроме того, обычно в шаблоне выделяют компоненты шапки и подвала. Они также выбираются и настраиваются в админ-панели. Компоненты располагаются в каталоге components шаблона. Некоторые компоненты универсальные, но часто шаблон содержит только свои компоненты.

Кастомизация шаблона

Для того, чтобы изменить «типовой» вариант вывода, нет необходимости переписывать весь type-файл. Вместо этого достаточно использовать небольшие type_foreach-файлы — это файлы, при наличии которых, происходит вывод уже из них. Любой type-файл состоит из множества type_foreach-файлов, чтобы предоставить вебмастеру возможность гибкой настройки шаблона.

Кроме этого, управлять поведением можно через опции, ушки (плагин), set/get-переменные и т.д.

Важно понимать, что в MaxSite CMS реализовано очень много возможностей, которыми можно легко управлять. В отличие от других CMS, здесь автоматизировано большинство задач с тем, чтобы вебмастер не тратил на них время.

Каталоги

Поскольку MaxSite CMS базируется на CodeIgniter, то это наложило некоторый отпечаток на схему каталогов системы.

  • system — здесь размещается ядро CodeIgniter.
  • application — основной каталог приложения.
  • uploads — каталог предназначенный для хранения загруженных файлов. В нём запрещено выполнение php-кода.

В каталоге application размещается MaxSite CMS. Для удобства используется отдельный подкаталог maxsite, где и находятся файлы системы.

  • common — ядро MaxSite CMS.
  • admin — админ-панель.
  • templates — шаблоны MaxSite CMS.
  • plugins — каталог плагинов.
  • shared — «общие» файлы/библиотеки, которые задействованы при работе шаблонов.

Каждый шаблон должен размещаться в отдельном каталоге. Имя шаблона — это имя каталога.

Каталоги шаблона

Ниже приведена «типовая» структура каталогов шаблона.

  • assets — оформительская часть шаблона (css, шрифты, изображения и т.д.)
  • components — компоненты шапки и подвала (каждый в своём каталоге)
  • custom — каталог, где размещаются какие-то особые (и предопределенные) файлы шаблона.
  • main — модульные сетки шаблона.
  • options — опции шаблона. Обычно этот каталог не используют, а опции задают в custom.
  • type — файлы типов данных (если есть, каждый в своём каталоге).
  • type_foreach и take — type_foreach-файлы.

Шаблон может содержать и другие каталоги.

В качестве основы для нового шаблона вы можете использовать шаблон Default. При этом всегда используйте самую последнюю версию MaxSite CMS.