Шаблонизатор

Шаблонизатор упрощает работу с кодом

Для удобства работы с исходным кодом страниц используется шаблонизатор Simpla!, который представляет собой упрощенную версию известного шаблонизатора Smarty.

Пример использования:

Переменные:

{$var} - переменная
{$ar.title} - элемент массива
{$var|red} - переменная с модификатором (подсвечивает красным цветом)

Цикл foreach

{foreach key="k" value="v" from=$array}
{$k}:{$v}
{/foreach}

Конструкция if else

{if empty($v)}
Пустая переменная
{else}
Переменная есть: {$v}
{/if}

Функция lang

Функцией lang можно выводить в шаблоне значения из подключаемых языковых файлов. Простейший пример, вывод элемента массива, можно указать от 1 до 3-х элементов, перечислив их в шаблоне - key1, key2, key3.

{lang key1="admin" key2="user" key3="edit"}

Для склонения существительного с числительным нужно создать переменную, указав формы слова с числами 1, 4 и 5. В языковом файле пишем:

$lang['comment'] = array('Отзыв', 'Отзыва', 'Отзывов');

В шаблоне вывод осуществляется так:

{lang word="comment" qty=$page.list_comments|@count}

Модификаторы

red

Подсвечивает красным цветом переменную, добавляя <span></span>


upper

Возвращает строку, в которой все буквенные символы переведены в верхний регистр


lower

Возвращает строку, в которой все буквенные символы переведены в нижний регистр


in_array

Проверяет наличие переменной в массиве и возвращает в переменную значение.

{ in_array array=$array match=$id returnvalue="CHECKED" assign="ch"}
Если в массиве $array этого примера будет найдено значение $id, то переменная $ch пример значение CHECKED. В противном случае она будет пуста.


months и month

Выводит название месяца буквами. Можно указать язык, задать регистр выводимых букв - строчные, прописные или только первая буква заглавная (lower, upper или ucfirst). Модификатор months выводит месяц в родительном падеже, а month - в именительном. Так, {2|months:"ru"} выведет - февраля, а {2|month:"ru"} - февраль.

{$str|months:"ru" }
{$str|months:"ru":"ucfirst" }
{$str|month:"ru":"upper" }


capitalize

Возвращает строку, в которой первый символ каждого слова переведен в верхний регистр, если этот символ является буквой


date и date_format

Преобразует дату в заданный вид


truncate

Обрезает строку. Можно задать длину строки для обрезания, чем заканчивается обрезанная часть и обрезать ли слова. По умолчанию обрезается строка более 80 символов.

{$str|truncate }
{$str|truncate:50:"..." }
{$str|truncate:50:"...":true }


lastkey

Возвращает последний ключ массива. Удобно использовать для поиска в массиве последнего элемента. Пример использования: {$array|@lastkey}


chunk

Форматирует строку $str, разбивая ее на фрагменты $length и вставляя между ними символ $delimiter {$str:4:"-"}


color

Задает цвет {$var|color:'#cccccc;'}


compare

Сравнивает переменную со значением и возвращает первое, если равно и второе, если нет  - {$value.type|compare:"int":"OK":"---"}. Второе можно опустить, тогда ничего не возвращает.


replace

Передает для замены строку или массив (значения через запятую). Если на что менять не задано, то просто удаляет совпадения


filesize

Форматирует число. 1024 -> 1Kb; 1059000 -> 1,5Mb и т.д.


numformat

Аналог функции number_format, выводит отформатированное число. Дополнительно можно указать 3 значения:

  1. Число знаков после запятой. По умолчанию - 0
  2. Разделитель дробной части. По умолчанию - . (точка)
  3. Разделитель тысяч. По умолчанию - " " (пробел)

{"1234567,99"|numformat:"2":".":" "} или {$str|numformat:"2":",":" "}

Покажет 1 234 567

rur

Вид рубля

euro

Вид евро

usd

Вид доллара США

Список пуст
Список пуст