Главная
8-800-3333-505
(495) 287-08-62   (383) 204-92-99

Схема работы

В момент вызова какой-либо страницы PHP скрипт берёт содержимое шаблона, разбирает его, основываясь на синтаксисе, описанном ниже, и выдаёт обработанное содержимое в браузер тому, кто просматривает страницу. То есть, конечный пользователь никогда не увидит шаблон, а только результат обработки шаблона и данных в виде страницы сайта. Ниже будут использованы слова “переменная”, это означает переменную, подготовленную и переданную в шаблон PHP скриптом. В момент написания или редактирования шаблонов следует в своём коде вместо символа “#” использовать “#”, а вместо символа “%” использовать “&#37” в случае если идут подряд 2 и более таких символов, чтобы не было конфликтов с синтаксисом шаблонов.

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

Основные блоки

Переменные:

##variable##

Означает, что выражение будет заменено на значение переменной, переданной из PHP скрипта. Если переменная не найдена в переданных PHP скриптом, то она заменится на пустой символ. Не используйте переменные с такими именами “if”, “elseif”, “else”, “endif”, “setvar”, “include”.

Пример: если в шаблоне встречается такой код “This is my ##what## application” и PHP скрипт передал переменную what = “best”, то в результате получится такой код “This is my best application”.

 

Языковые сообщения:

%%variable%%

Означает, что выражение будет заменено на значение переменной, взятой из присоединённого ранее языкового файла.

Например, если в шаблоне встречается такой код “This is my %%lang%%” и языковой файл содержит переменную “lang” и значение для русского языка “Русский”, а для английского “Английский”, то на соответствующее значение это и будет заменено.

##setvar @variable=”value”##

Устанавливает переменную, которая будет видна в пределах одного шаблона. Притом, если PHP скрипт передал переменную с таким же названием, то setvar переменная будет иметь больший приоритет.

Пример: “##setvar @aaa=”my”## This is ##aaa## computer” будет преобразован в “This is my computer”.

 

Комментарии:

##--something--##

Эта конструкция представляет собой комментарий. При том пользователю этот комментарий не будет показан, а будет удален ещё на моменте разбора шаблона. Так же очень удобно с использованием таких комментариев временно убирать ненужные блоки синтаксиса. 

Пример: “##--Это в конечном итоге нужно убрать--##” будет преобразован в пустую строку, а такой блок “##--setvar a=”b”--##” не установит переменную a.

Вложенные комментарии не поддерживаются.

 

Условные выражения:

##if(условие)## … ##elseif(условие)##… ##else## … ##endif##

Сравнение переменной со значением и условный вывод каких-либо параметров. При этом обязательны только “if” и “endif” блок, а “elseif” и “else” можно опустить.

Условия могут быть любыми вычисляемыми выражениями PHP. При этом, указанные в условии переменные будут взяты из массива переданных из PHP переменных для данного блока.

Пример:

##if(MEMBER_LOGGED_IN)##...

##if(data==”a” && name==”admin”)##...

Сами выражения, которые находятся между “if” и “endif” могут содержать любой синтаксис, включая вложенные условные выражения.

Пример: блок “##if(a != “5”)## а не равно 5 ##else## а равно 5, ##ura## ##endif##” выведет следующее, если переданная PHP скриптом переменная a не равна 5: “а равно 5, ура!”.

 

Подключение вложенных шаблонов:

%%include_template “path”%%

Такая конструкция предназначена для того, чтобы подключить один шаблон в другой. При том указанный шаблон будет вставлен именно в то место, где написана данная конструкция. Т.к. это делается ещё до полного разбора синтаксиса, то вкладываемый шаблон так же может содержать синтаксис шаблона, кроме всех “include”, т.к. вложенные “include…” данной версией не поддерживаются. Например, “This is %%include_template “me.tpl”%%”.

 

Подключение блоков языковых сообщений:

%%include_language “path”%%

В данном случае будет указано PHP скрипту, что следует использовать пусть “path” до языкового файла и переменные из этого файла будут использованы в данном шаблоне.

Пример: Структура и пример языкового файла:

%%lang%ru%%
Русский
%%lang%en%%
English

 

Распечатка переменных:

##__PRINT_VARS__##

Конструкция ##__PRINT_VARS__## позволяет узнать список переменных и их значений (например, для создания условий), доступных в сете шаблона. Для того, что бы видеть список переменных, необходимо находиться в режиме отладки.