Основа шаблонизатора
Вводная часть
В CMS MMOWEB упрощена шаблонизация сайта на сколько это было возможно, добавлены теги отвечающие за рендеринг виджетов и основных элементов движка.
Список основных тегов.
SEO теги и подключение js и css файлов.
ТЕГ | Описание |
{$_LANG} | Тег языка распростряняется на все шаблоны содержить ru,en итд в зависимости от выбранного языка |
{$_SEO_HEAD} | Этот тег парсится из файлов Headers.php и IncludeJsCss.php |
{$_SEO_BODY} | Этот тег парсится из файла IncludeJsCss.php |
{$_SEO_FOOTER} | Этот тег парсится из файла IncludeJsCss.php |
Рекомендовано для сайтов использующие переключения языков все заголовки содержанию информацию на нескольких языках к примеру такие как title description и тому подобные выносить в файл Headers.php формат:
Для создания источника тега необходимо создать по примеру запись в массиве head
обязательные поля idx
- ключ тега для замены из файла IncludeJsCss.php в случаях когда сайт содержит больше 1 страницы и необходимо заменить тег на другой typex
- ключ указывающий, что за тип тега может иметь следующие значения title, meta, link, script, html
Значения поля typex
Ключ | Описание |
title | Принемаемый параметр content |
meta | Может принемать любые ключи |
link | Может принемать любые ключи |
script | Может принемать любые ключ. Доп.ключ на выполнения javascript кода ключ |
html | Принемает параметр |
Пример создания тега:
Результат:
Тут наглядно видно, что объявленный параметр rel передался в html со значением из ключа, и так можно передать любой ключ со значением.
Параметры автозамены в тегах
В CMS MMOWEB есть дополнительная возможность передавать определенные вложения которые будут на выходе замениться в зависимости от настроек и выбранных параметров пользователя, к примеру %site_name% заменится на название проекта которое вы указали в админ панели mmoweb.biz.
Доступные значения.
Значение | Описание |
%site_name% | Имя проекта |
%server_name% | Имя текушего сервера |
%platform_server_name% | Платформа и имя сервера пример: Lineage2 > Gracia Final |
%url% | Ссылка на сайт пример: https://mmoweb.biz/ |
Для более продвинутых можно самостоятельно добавить значения Class/SeoX.php method initReplaceTeg()
Редактирование IncludeJsCss.php
IncludeJsCss.php по сравнению с Headers.php имеет массив с body и footer вставляя теги в эти поля они будут отрисовываться в одноименных шаблонных тегах {$_SEO_HEAD} и {$_SEO_FOOTER} принцип добавления такой же, как и Headers.php.
Добавление тега из шаблона
Бывают задачи добавить JS или CSS только в определенном шаблоне, для этого есть конструкция
И при вызове шаблона, где объявлены эти методы будет произведена вставка перед отрисовкой.
Теги виджетов на сайте
Су шествует набор тегов шаблонизатора, для вставки модулей к примеру: статус серверов переключение языка и прочего.
Список доступных тегов для сайта
Тег | Описание |
{language tpl='language.tpl'} | Тег выбора языка шаблон language.tpl аргумент tpl необязательный, сделан для подмены дефолтного шаблона на кастомный |
{include 'site:is_login.tpl'} | Это не совсем тег это конструкция сразу подключает нужный фрагмент в шаблон в нашем случаи is_login.tpl |
{server count=3 tpl='server_status.tpl'} | Виджет серверов онлайн шаблон server_status.tpl доп поля настраиваются из админки. Можно передать сколько вывести элементов count=3. 2 аргумент необязательный, сделан для подмены дефолтного шаблона на кастомный |
{forum count=5 tpl='forum.tpl'} | Последние темы с форума настройка источник из админки шаблон forum.tpl. Можно передать сколько вывести элементов count=5 2 аргумент необязательный, сделан для подмены дефолтного шаблона на кастомный |
{rating count=10 tpl='rating.tpl'} | Сложный виджет, у него есть иерархия платформа тип статистики главный шаблон rating.tpl под категории /rating/lineage2/top_clan.tpl. Можно передать сколько вывести элементов count=5 2 аргумент необязательный, сделан для подмены дефолтного шаблона на кастомный |
{news count=3 page=1} | Новостной блок, принимает параметры кол-во новостей и страницу, передача их не обязательна есть дефолтные параметры 10,1 шаблон news.tpl |
{iblock ikey='event' count=3} | Виджет инфо блока - блоки создаются в админ панели и наполняются контентом |
{streams count=3 tpl='streams.tpl'} | Виджет стимов - блоки создаются в админ панели и наполняются контентом 2 аргумент необязательный, сделан для подмены дефолтного шаблона на кастомный |
{$.site.dir_site} | Путь к выбронному шаблону пример: src="/template/site/default" |
{$L_MENU_BTN_HOME} | Тег языковой, настраивается либо из /Lang/ru.php в шаблоне либо через админку |
Last updated