Шаблонные функции и теги
Шаблонные функции – это функции для вывода всевозможного контента в пользовательской части сайта. Шаблонная функция неразрывна с шаблонным тегом, который является инструментом для вызова функции в шаблонах сайта при подключении дизайна к DIAFAN.CMS.
Шаблонные теги
Шаблонные теги служат для запуска шаблонных функций, которые выводят различный контент в шаблонах сайта. Шаблонный тег представляет собой тег вида:
<insert [name=""] [module=""] [value=""] [attribute_1=""] [attribute_2=""]>
Используются шаблонные теги в шаблонах сайта при подключении дизайна к DIAFAN.CMS.
Тег включает ряд обязательных и необязательных атрибутов, делящихся на определенные и неопределенные атрибуты.
Определенные атрибуты:
- name – задает вызываемую функцию или выводимую переменную;
- module – задает название модуля, к которому относится вызываемая функция.
- value – значение выводится на странице. Можно изменять значение в интерфейсе «Языки сайта» – «Перевод интерфейса» или с помощью панели быстрого редактирования;
В шаблонном теге обязательно должен быть один из атрибутов: name или value.
Пример:
<insert name="show_body">
Выведет основной контент сайта: заголовок Н1, текст и содержимое модуля, если он подключен к странице.
Пример:
<insert name="show_block" module="site" id="1">
Выведет содержимое блока ID=1 из модуля «Страницы сайта».
Пример:
<insert name="show_login" module="registration">
Выведет форму авторизации для пользователей сайта
Пример:
<insert name="show_block" module="menu" id="2" template="leftmenu">
Выведет меню ID=2. Шаблон оформления – файл modules/menu/views/menu.view.show_block_leftmenu.php
Шаблонный тег также можно вызвать из шаблонов модулей. Для этого его нужно обработать функцией htmleditor()
.
Пример:
echo $this->htmleditor('<insert name="show_block" module="shop" sort="sale">');
При использовании в шаблоне /modules/news/views/news.view.id.php выведет на странице с отдельной новостью три товара, лидеров продаж.
Все допустимые значения определенных атрибутов name и module собраны в справочник шаблоных тегов.
Определенный атрибут value служит для автоматического перевода текстов в мультиязычных сайтах (value="значение"
);
Пример:
<insert value="Привет, мир!">
Выведет просто фразу «Привет, мир!» в основной языковой версии сайта.
Для других языковых версий перевод можно задать в административной части сайта в разделе языки сайта или перевести слово в пользовательской части сайта при помощи панели быстрого редактирования.
Если в административной части существует перевод для фразы «Привет, мир!» – «Hello, world!», то в пользовательской части сайта этот же тег выведет «Hello, world!» при переключении на английскую версию.
Неопределенные атрибуты – это все остальные атрибуты, которые могут быть использованы в шаблонном теге. Они передаются функции в качестве массива в формате:
array(название => значение, …);
Значения неопределенных атрибутов зависят от модуля, к которому они относятся. Согласно систаксису значения неопределенных атрибутов должны быть заключены в кавычки и не должны содержать символы >, <, ", '. Эти символы должны быть заменены HTML-мнемониками или специальными символами:
<
надо заменить на<
или[
>
надо заменить на>
или]
&
надо заменить на&
"
надо заменить на"
или `
Пример:
<insert name="show_block" module="menu" id="3" tag_start_1="[li class="bottom"]" tag_start_2="[/li]">
Выведет меню ID=3, в котором каждый пункт меню будет оформлен в конструкцию <li class="bottom">пункт меню</li>.
База знаний
Зарегистрируйтесь или авторизируйтесь для того, чтобы оставить комментарий.