Основа шаблонизатора
Вводная часть
Last updated
Вводная часть
Last updated
В CMS MMOWEB упрощена шаблонизация сайта на сколько это было возможно, добавлены теги отвечающие за рендеринг виджетов и основных элементов движка.
Рекомендовано для сайтов использующие переключения языков все заголовки содержанию информацию на нескольких языках к примеру такие как title description и тому подобные выносить в файл Headers.php формат:
Для создания источника тега необходимо создать по примеру запись в массиве head
обязательные поля idx
- ключ тега для замены из файла IncludeJsCss.php в случаях когда сайт содержит больше 1 страницы и необходимо заменить тег на другой typex
- ключ указывающий, что за тип тега может иметь следующие значения title, meta, link, script, html
Значения поля typex
Тут наглядно видно, что объявленный параметр rel передался в html со значением из ключа, и так можно передать любой ключ со значением.
В CMS MMOWEB есть дополнительная возможность передавать определенные вложения которые будут на выходе замениться в зависимости от настроек и выбранных параметров пользователя, к примеру %site_name% заменится на название проекта которое вы указали в админ панели mmoweb.biz.
Для более продвинутых можно самостоятельно добавить значения Class/SeoX.php method initReplaceTeg()
IncludeJsCss.php по сравнению с Headers.php имеет массив с body и footer вставляя теги в эти поля они будут отрисовываться в одноименных шаблонных тегах {$_SEO_HEAD} и {$_SEO_FOOTER} принцип добавления такой же, как и Headers.php.
Бывают задачи добавить JS или CSS только в определенном шаблоне, для этого есть конструкция
И при вызове шаблона, где объявлены эти методы будет произведена вставка перед отрисовкой.
Су шествует набор тегов шаблонизатора, для вставки модулей к примеру: статус серверов переключение языка и прочего.
ТЕГ
Описание
{$_LANG}
Тег языка распростряняется на все шаблоны содержить ru,en итд в зависимости от выбранного языка
{$_SEO_HEAD}
Этот тег парсится из файлов Headers.php и IncludeJsCss.php
{$_SEO_BODY}
Этот тег парсится из файла IncludeJsCss.php
{$_SEO_FOOTER}
Этот тег парсится из файла IncludeJsCss.php
Ключ
Описание
title
Принемаемый параметр content
meta
Может принемать любые ключи
link
Может принемать любые ключи
script
Может принемать любые ключ. Доп.ключ на выполнения javascript кода ключ js
html
Принемает параметр html
Значение
Описание
%site_name%
Имя проекта
%server_name%
Имя текушего сервера
%platform_server_name%
Платформа и имя сервера пример: Lineage2 > Gracia Final
%url%
Ссылка на сайт пример: https://mmoweb.biz/
Тег
Описание
{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 в шаблоне либо через админку