Шаблон для Moguta.CMS - это набор файлов, изменяющий внешний вид сайта и его элементов. Все шаблоны Moguta.CMS хранятся в корневой папке сайта mg-templates/. В данной папке после установки системы обязан находиться подключающийся по умолчанию шаблон .default. Редактировать или удалять его не рекомендуется.
Чтобы создать свой шаблон, необходимо следовать следующей инструкции
- Открыть папку [корневая директория сайта]/mg-templates/;
- Сделать копию стандартного шаблона .default и переименовать ее в название новой темы, например "myTheme";
- Зайти в раздел настроек из панели администрирования, и в поле "шаблон" из выпадающего списка выбрать пункт myTheme;
- После проделанных действий можно начинать создание своего оформления, изменяя файлы в папке [корневая директория сайта]/mg-temlates/myTheme;
Как устроены шаблоны в могуте
Структура файлов шаблона Moguta.CMS может варьироваться в зависимости от сложности сайта, например, самый простой шаблон может состоять лишь из нескольких файлов:
Как видите, каждый шаблон обязан иметь в корне - файл template.php, который будет содержать каркас всего внешнего вида сайта. Также чтобы движок распознал шаблон, необходимо создать папку css и вложить в нее файл style.css
Все необходимые компоненты, для функционирования шаблона сайта и его страниц, лежат в папках ядра:
- mg-core/controllers - тут хранится скрипт каждой страницы, который обрабатывает пользовательские данные;
- mg-core/view – верстка страницы, как она будет выглядеть на экранах пользователей;
- mg-core/model – бизнес логика страницы;
Все эти три компонента являются составляющими паттерна проектирования программных продуктов и сокращенно именуются как MVC (модель-вид-контролер).
Каждая не статическая страница сайта по умолчанию взаимодействует с тремя составляющими MVC заданными в ядре движка, но случается когда надо подкорректировать расположение элементов на странице. Для этого, нет необходимости лезть в ядро движка, а достаточно лишь скопировать нужный файл представления из папки mg-core/views в одноименную папку шаблона сайта и настраивать верстку индивидуально для текущего шаблона.
Зачастую новые шаблоны предполагают глобальное изменение разметки всех страниц, в этом случае, проще всего скопировать полностью папку движка mg-core/views и редактировать файлы в шаблоне, под свой вкус и цвет.
В некоторых шаблонах требуется изменить стандартное поведение динамических страниц, например, добавить новое поле в форму проверки данных, или наоборот удалить. Для этого необходимо скопировать соответствующие составляющие страницы из папок mg-core/controllers и mg-core/models в соответствующие папки шаблона, и править их так как необходимо, для сайта.
На изображении приведена максимально объемная из допустимых структура файлов, а также схематично изображена логика их взаимосвязей.
Данный подход позволит до неузнаваемости изменить как внешний вид так и логику работы сайта, сохранив целостность ядра системы.
Также в корне шаблона могут находиться файлы
- 404.php – верстка для страницы с ошибкой;
- ajaxuser.php – класс содержащий методы для обработки пользовательских ajax запросов;
- functions.php – в этот файл можно дописывать различные пользовательские функции влияющие на работу шаблона;
- template.php – верстка каркаса сайта.
На следующей картинке визуально отделена верстка находящаяся в файле template.php от области для вывода страниц сайта.
При разработке собственного шаблона для Moguta.CMS важно знать о наличии допустимых переменных в файлах представления. Для каждого файла с версткой из папки views будет доступен собственный набор переменных, узнать о котором можно записав в начале файла следующую строку:
<?php
viewData($data);
?>
В результате при открытии страницы, можно будет увидеть содержимое системного массива $data, например, для файла views/product.php массив $data содержит в себе информацию о выбранном продукте:
<?php
$data['id'] – идентификатор продукта; $data['cat_id'] – идентификатор раздела; $data['title '] – название продукта; $data['description'] – описание продукта; $data['price'] - цена; $data['url'] - ссылка; $data['image_url'] – картинка; $data['code'] – артикул.
?>
Дополнительными инструментами при создания шаблонов в Moguta.CMS, являются функций:
<?php
mgMenu() - Возвращает меню в HTML виде. mgMeta() - Устанавливает meta данные страницы. mgSEO() - Задает блок SEO настроек для страницы. mgTitle () - Задает заголовок страницы. viewData() – Выводит содержимое массива.
?>
Подробнее об этих и других функциях, можно узнать из хорошо задокументированного файла движка mg-core/metodadapter.php.
Дополнительную информацию о создании шаблона для Moguta.CMS можно почерпнуть из статьи блога lifeexample.ru
Комментарии (0)