Cms smarty: PHP Template Engine | Smarty

Содержание

Smarty (модификаторы, массивы, циклы и пр. подсказки)





  • Встроенные в CMS плагины Smarty

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

  • Создание своих модификаторов Smarty

upper, lower, capitalize:

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

{$text|upper}

truncate:

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

Пример:

{$articleTitle}
{$articleTitle|truncate}
{$articleTitle|truncate:30}
{$articleTitle|truncate:30:»»}
{$articleTitle|truncate:30:»—«}
{$articleTitle|truncate:30:»»:true}
{$articleTitle|truncate:30:»…»:true}
{$articleTitle|truncate:30:’. .’:true:true}

Результат: 

Two Sisters Reunite after Eighteen Years at Checkout Counter.
Two Sisters Reunite after Eighteen Years at Checkout Counter.
Two Sisters Reunite after…
Two Sisters Reunite after
Two Sisters Reunite after—
Two Sisters Reunite after Eigh
Two Sisters Reunite after E…
Two Sisters Re..ckout Counter.

replace:

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

Данный пример удалит пробелы:

{$text|replace:» «:»»}

regex_replace:

Описание: поиск и замена по регулярному выражению

Данный пример очистит номер телефона от лишних символов:

{$phone|regex_replace:’/[() -]/’ :»}

mb_substr:

удалить первый символ переменной

{$text|mb_substr:1}

удалить последний символ переменной

{$text|mb_substr:0:-1}

strip_tags:

Описание: Удаляет теги html разметки

Пример:

{$articleTitle}
{$articleTitle|strip_tags}

Результат:

Blind Woman Gets <font face=»helvetica»>New Kidney</font> from Dad she Hasn’t Seen in <b>years</b>.
Blind Woman Gets New Kidney from Dad she Hasn’t Seen in years .

Кодирование-декодирование URL:

{$url|urldecode}

Результат: utm_term=паста

{$url|urlencode}

Результат: utm_term=%D0%BF%D0%B0%D1%81%D1%82%D0%B0

Конкатенация (добавление к переменной):

{$text|cat:» добавляемый текст»}

Подсчитать кол-во символов (параграфов, предложений, слов):

{$text|count_characters}

Аналогично: count_paragraphs, count_sentences и count_words

Отрезать все, что после символа &:

{$text|regex_replace:’/&.*/’:»}

Проверка вхождения в $text подстроки $sub:

{if $text|strpos:$sub !== false}

Первые n-символов в переменной:

{if $filename|substr:0:4 == ‘http’}

Текущая дата:

{$smarty.now|date_format:»%d. %m.%Y %H:%M»}

Завтра (+ 1 день):

{strtotime(‘+1 day’)|date_format:»%d.%m.%Y %H:%M»}

Условие по времени (если > 9 утра):

{if $smarty.now|date_format:’%H.%M’ > ‘09.00’}

Заменяет все переносы строк на тэг <br /> в заданной переменной:

{$test|nl2br}

Добавляет пробел между разрядами крупных чисел: 

{$number|number}

Например 65000 приводится к виду 65 000.

Форматирование строк:

Напр. отрезать символы дальше сотых:

{$number|string_format:’%.2f’}

Экранирование:

{$text|escape}{$text|escape:’html’} // экранирует & » ‘ < > 

{$text|escape:’htmlall’} // экранирует ВСЕ HTML-сущности

{$text|escape:’url’}

{$text|escape:’quotes’}

Еще больше полезностей из Smarty:

Информация о переменной:

{$var|print_r} 

Как закомментировать?

{* комментарий *}

Как экранировать код в котором встречаются {}:

Поставить после { пробел, либо обернуть в:

{literal}. ..{/literal}

Как создать внутреннюю переменную smarty (напр $var) и присвоить ей значение:

{$var = «…»}

Использование условий if:

{if isset($name) && !empty($name)} … {elseif $name == $foo} … {/if}

{if is_array($foo) && count($foo) > 0) {* do a foreach loop *} {/if}

Как посчитать количество элементов в массиве:

{$group.items|count}

in_array:

Описание: Проверяет наличие значения переменной $module в массиве

{if in_array($module, array(‘ProductView’, ‘ProductsView’, ‘CartView’, ‘OrderView’, ‘BrowsedView’, ‘CompareView’, ‘WishlistView’))}

Пример 2: Проверка вхождения переменной $pname в массив get-параметров v1

{if $pname|in_array:$smarty.get.v1}

Как организовать цикл for:

Например нужен такой цикл: for($i=1;$i<10;$i++)

{section name=foo loop=9}

{$smarty. section.foo.iteration}

{/section}

Первый и последний элемент цикла:

{foreach $purchases as $purchase}

{if $purchase@first}…{/if}

{if $purchase@last}…{/if}

{/foreach}

Прервать цикл foreach:

{break}

Итерация:

{foreach $products as $p}

<p>product_num=»{$p@iteration}»</p>

{/foreach}

  • Более сложная задача — вывести записи из цикла отдельными блоками по 4 шт:

{foreach $banners as $banner}
  {if $banner@first}
    <ul>
  {/if}
      <li><img src=»{$banner->image}» /></li>
  {if $banner@iteration%4 == 0 || $banner@last}
    </ul>
    {if !$banner@last}<ul>{/if}
  {/if}
{/foreach}

Вывод первых 3 свойств через срез массива:

{foreach $product->features|@array_slice:0:3 as $f}

<p>{$f->name} — {$f->value}</p>

{/foreach}

Где: 0 — начало среза, 3 — кол-во элементов

Преобразовать строку в массив $widgets_ids по одинаковому разделителю «,»:

{$widgets_ids = «,»|explode:»1,2,3,4,5,6,7,8»}

{foreach $widgets_ids as $widget_id}

{$widget_id}

{/foreach}

Записать значения id в массив $labels_ids:

{foreach $order->labels as $l}

{$labels_ids[] = $l->id}

{/foreach}

Проверка различия между массивами:

Ф-я array_diff($array1, $array2) даст те элементы, которые есть в массиве array1, но нет в массиве array2

{array_diff($array1, $array2)}

Рандомное число:

{math equation=’rand(10,100)’}

Округление:

Напр. до сотых:

{$number|round:2} 

До целых в меньшую сторону:

{$number|floor} 

Получение GET-параметра:

Например из URL типа site.ru?utm_text=текст

{$smarty.get.utm_text}

Отображение параметра «page» из формы ($_POST[‘page’])

{$smarty.post.page}

Отображение значения cookie «name» ($_COOKIE[‘name’])

{$smarty.cookies.name}

Отображение серверной переменной «SERVER_NAME» ($_SERVER[‘SERVER_NAME’])

{$smarty.server.SERVER_NAME}

Адрес текущей страницы:

{$smarty.server.HTTP_HOST}{$smarty.server.REQUEST_URI}

или

{$config->root_url}{$smarty.server.REQUEST_URI}

Адрес текущей страницы без GET-параметров:

{$smarty.server.HTTP_HOST}{strtok($smarty.server.REQUEST_URI,’?’)}

или

{$config->root_url}{strtok($smarty. server.REQUEST_URI,’?’)}

Отображение переменной системного окружения «PATH»:

{$smarty.env.PATH}

Получить ID сессии:

{$smarty.session.id}

Отображение переменной «name» из смешанных get/post/cookies/server/env

{$smarty.request.name}

Определение разрешения файла:

{$image->name|pathinfo:$smarty.const.PATHINFO_EXTENSION}

Подключить шаблон:

{include file=’file_name.tpl’}

Случайное значение из массива:

{$array|@array_rand}

Документация Smarty:

  • Встроенные плагины Smarty
  • Вся документация по Smarty
  • Создание своих модификаторов Smarty
  • Доступные переменные в шаблонах

UPD: обновлено 11.10.2022

Сравнение Webasyst и Smarty CRM

Webasyst
















Быстрый старт создания сайта на платформе Webasyst






Рекомендую

Хорошо

Надёжность

Удобство

Внешний вид

Цена

Поддержка

Функциональность



Плюсы

Попробовать 30 дней бесплатно по максимуму.

Интуитивно понятно и удобно работать без знаний программиста.

Много наборов для создания сайта, от визитки до крупного интернет магазина.

Минусы

Мало контроля над программами сторонних разработчиков, в плане того что если будут обновления у Webasyst — то разработчик опаздывает или не делает обновления и продукт от разработчика работает не корректно.

Лучше будет для всех если Webasyst будет вести сопровождение и отвечать за установленные разработки.







webasyst







Alex

1

2



0

13447


Отзыв


1 декабря 2022





Webasyst
















Для тех, кто хочет быстро начать продавать через свой интернет-магазин.






Рекомендую

Хорошо

Удобство

Внешний вид

Цена

Поддержка



Плюсы

Поддержка проекта.

Минусы

Плагины партнеров, как правило приходится «допиливать» и просить помощи при установки.

В целом, удобная платформа для начала работы в интернете.







webasyst







Serg E

1

2



0

4644


Отзыв


27 ноября 2022





Webasyst
















Хороший способ быстро и просто открыть интернет магазин.






Рекомендую

Хорошо

Удобство

Внешний вид

Цена

Поддержка

Функциональность



Плюсы

Удобно быстро и красиво!

Минусы

Ну как-то раз отрубался сайт на месяц, датацентр сгорел, но мне повезло, сайт как феникс, возник из пепла, но пришлось его закрыть и открыть новый.

Рекомендую.







webasyst







Андрей Нехаев

1

2



0

28349


Отзыв


7 сентября 2022





Webasyst
















Опыт более 10 лет работы






Рекомендую

Хорошо

Надёжность

Удобство

Внешний вид

Цена

Поддержка

Функциональность



Плюсы

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

Минусы

Систем без недостатков не бывает, но они всегда решаются с помощью нормальных программистов, которые понимают Вас и Вашу задачу. А понять задачу можно только имея четкое ТЗ(без ТЗ и результат ХЗ).

Пользуюсь WebAsys с 2012 года. Все устраивает, за все время использования было сделано много доработок и приобретено более 110 плагинов. Покрывает все мои бизнес процессы. В команде работает более 60 человек. Сейчас webasyst работает на выделенном сервере. Нагрузку держит нормально до 25 000(больше пока не наблюдалось в пике) пользователей одновременно. Работал на VPS до 5000 пользователей одновременно, но потом пришлось перейти на выделенный в виду того, что за практически за те же деньги арендовали выделенный сервер. Пробовал и Битрикс, да, там есть свои преимущества и недостатки и пилить там надо не меньше, а в некоторых случаях и больше. У меня Webasyst с ShopScript в связке с 1c отлично работают. Да пришлось в разработки вложить, чтобы сделать под себя и свои процессы максимально автоматизированную систему, но оно того стоило.







webasyst







Максим Зимин

1

2



0

30055


Отзыв


25 июля 2022





Webasyst
















Решение для интернет-магазина






Рекомендую

Хорошо

Удобство

Цена

Поддержка

Функциональность



Плюсы

Используем облачный Webasyst с 2015 года, всё устраивает! Сервис постоянно развивается, отличная техподдержка. Много различных приложений и плагинов к ним. При создании своего интернет-магазина на Shop-script первоначально использовали бесплатную тему дизайна и ряд бесплатных плагинов, что позволило реализовать проект без существенных затрат. Многие плагины, такие как интеграция с 1С, маркетплейсами, службами доставки и платежными сервисами позволяют оптимизировать работу.

Минусы

Дорогие плагины. Некоторые плагины не поддерживаются и со временем перестают нормально функционировать.

Вопросы решаются оперативно с помощью хорошей техподдержки. Советую!







webasyst







Андрей Никогосян

1

2



0

37047


Отзыв


8 июня 2022





Smarty CRM
















Не тратье время





Плохо

Надёжность

Удобство

Внешний вид

Цена

Поддержка

Функциональность



Плюсы

Пользуясь этим сервисом вы сможете понять то, как не нужно делать crm-систему

Минусы

Одним словом — неудобно. Плохой ux — почти не юзабельно, интерфейс устаревший (видимо дизайнер не очень компетентный над этим работал) продуманность слабая, на полноценную поддержку можно не рассчитывать (зато можно рассчитывать на баги :)) В общем, не советую

Деньги на ветер







smarty crm







Кирилл Сербский

1

2



0

57834


Отзыв


14 октября 2021





Smarty CRM
















Хорошая система






Рекомендую

Хорошо

Удобство

Цена

Функциональность



Плюсы

функциональность на уровне

удобный, лёгкий в освоении интерфейс

не дорого

Минусы

Неизвестная система

Нашли ролик на ютубе, захотели протестировать на нашей компании. Софт прирос намертво, спасибо за бесплатный пробный период!







smarty crm







Сергей Белик

6

13



0

123422


Отзыв


8 апреля 2019





Smarty CRM
















хороший выбор






Рекомендую

Хорошо

Удобство

Внешний вид

Цена

Поддержка

Функциональность



Плюсы

Давно искал CRM-ку для своей конторки, мы пока что работаем малой группой в 6 человек, но уже что-то подобное понадобилось.

Есть множество других предложений, но этот — самый дешевый. А по функционалу считайте:

контакты с удобной фильтрацией, которые можно импортировать;

проекты, разбитые на стадии, которые можно настроить под себя, назначить ответственных, наблюдателей и т.п.;

заметки как заметки, всё на месте;

цели с интересной структурированностью;

ежедневник с задачами разных уровней важности;

согласование: им пока что не пользуемся, как и облаком, мб в перспективе понадобится;

чааааат! есть свой чат с удобными ответами и реакциями на них, + можно добавить в чат человека и он сможет(если нужно) увидеть всю историю переписки, класс!

и всё это на нескольких платформах с бесплатным (на месяц) тарифом на 12 сотрудников)

Службе поддержки написал утром в субботу, они мне почти сразу ответили и решили мою проблему, не ожидал!

Минусы

Майкрософтовская версия отстаёт от других, но мы пользуемся браузерной версией!

Очень интересные отзывы о smarty crm, сразу видно что конкуренты постарались)

Не верьте отзывам просто так, проверяйте профили!

Скоро заканчивается пробный период, будем пользоваться платным тарифом!







smarty crm







Иван Овчинников

7

9



0

125891


Отзыв


25 марта 2019





Smarty CRM
















все плохо





Плохо

Надёжность

Удобство

Цена

Поддержка

Функциональность



Плюсы

плюсы неплохой внешний вид

Минусы

нет не одной интеграции, нет службы поддержки, в прошедшие выходные почти не работала система

негативное







smarty crm







Артем Никитин

1

2



0

128530


Отзыв


4 февраля 2019





Smarty CRM
















Очень плохое обслуживание и постоянные баги





Хорошо

Внешний вид

Плохо

Надёжность

Удобство

Поддержка

Функциональность



Плюсы

очень красиво выглядит

Минусы

нет не одной интеграции, все приходится делать в ручную, эта CRM система не подходит для бизнеса,

постоянно какие то непонятные глюки, слишком сложно настраивать права доступа, постоянные баги, например сотрудник не мог войти в систему, даже на презентации этой системы у девушки проводившей её нам были глюки в системы

Очень интересно у них с поддержкой, в выходные не работает, ответа от них по почте не получить.


Добавлено 17 декабря 2018



(изменил оценку с 1 звезды на 5 звёзд)

Связались со мной и решили мои проблемы, спасибо большое, извиняюсь за данный отзыв написал с горяча, Администрация прошу удалить предыдущий отзыв, хотел бы написать другой







smarty crm







Дмитрий

1

1



0

133838


Отзыв


17 декабря 2018





Помощь по SMARTY : : CMS Made Simple — Учебники, советы и рекомендации

Помощь по SMARTY : : CMS Made Simple — Учебники, советы и рекомендации — CMSMS

Мы используем файлы cookie, чтобы обеспечить максимальное удобство пользования нашим веб-сайтом.
Если вы продолжите без изменения настроек браузера, мы будем считать, что вы согласны получать все файлы cookie на этом веб-сайте.

ПродолжитьПодробнее

Кнопка перехода на следующую страницу для модуля GbookПоказывать ответы гостевой книги из модуля Gbook для CMSMS с «бесконечной прокруткой» вместо представления с разбиением на страницы. Rolf   09-09-2019
Советы, приемы и руководства, которые еще больше упростят работу с CMS Made Simple . CMSMS — это система управления контентом с открытым исходным кодом. Он предоставляет разработчикам веб-сайтов простую и удобную утилиту, позволяющую создавать веб-сайты. Основы создания шаблонов Smarty В этом руководстве вы получите обзор наиболее полезных кодов шаблонов Smarty, включая практические примеры. Rolf   23-06-2018Использование вывода шаблона модуля в нескольких блоках контентаКак использовать сгенерированный контент модуля в разных местах макета страницы. Должен любить Смарти. Rolf   23-06-2018CGBlog Улучшение удобства использования списка статей администратора Как частый пользователь модуля CGBlog, я иногда пропускаю обзор запланированных статей блога. Используя основную функцию module_custom, вы можете просто адаптировать шаблоны администратора по своему вкусу. Rolf   23-06-2018Сила наследования шаблонов и CMSMS Design ManagerНаследование шаблонов — это подход к управлению шаблонами Smarty в CMS Made Simple™, напоминающий методы объектно-ориентированного программирования. Рольф 26-12-2019Получение размеров изображения в SmartyИспользование высоты и ширины изображений и миниатюр в шаблонах Галереи должно быть довольно простым, не так ли? Ну, думаю, не было… До сих пор! Manuel, Rolf   30-09-2020Добавление предыдущих и следующих ссылок на страницы сведений о модуляхВ этом учебном пособии демонстрируется мощь и простота кода шаблона Smarty, который используется для добавления кнопок «Назад» и «Далее» в модуль CMS Made Simple News без использования UDT. Мануэль, Рольф 30-09-2020Примеры области SmartyCMSMS 1.12 вводит понятие «области» в шаблонах Smarty. Эта версия Smarty не рассматривает каждую переменную как глобальную. Это решит проблемы с… Rolf   23-06-2018Страницы для печати без модуляНа самом деле нет необходимости в модуле для создания страниц для печати на вашем веб-сайте CMS Made Simple™. В этом уроке я покажу вам, как вы можете это сделать! Rolf   10-06-2019Переключатель стилей сайтаЧтобы сделать сайт доступным для посетителей с нарушениями зрения, мне понадобился переключатель стилей для изменения вывода шаблона. Не только для цветов текста и фона, но и для (макета) изображений. Rolf   21-08-2019Навигационные цепочки для модуля «Продукты»Не существует единого метода добавления навигационной цепочки в модуль «Продукты» для CMS Made Simple™. Спускаясь по «иерархической лестнице» к продукту, вы проходите три шаблона, и каждый шаблон имеет свой собственный метод. Rolf   10-06-2019Группируйте элементы каталога компаний в алфавитном порядке и добавляйте ярлыкиМодуль каталога компаний удобен для отображения обзора компаний и контактов на вашем веб-сайте CMS Made Simple™. Немного изменив шаблон сводки, вы можете сгруппировать вывод в алфавитном порядке и добавить ярлыки к записям. Rolf   29-03-2021Создайте индикатор выполнения с помощью Smarty и CSSЕсли вы хотите показать своим посетителям, т. е. полученные деньги по сравнению с целью благотворительного сбора, или показать все еще доступные билеты на концерт, неплохо показать индикатор выполнения . Вы можете сделать это с помощью нескольких строк Smarty и небольшого количества CSS. Rolf   10-06-2019Считыватель XML или RSS-каналов с помощью простого SmartyСоздайте свой собственный модуль чтения XML- или RSS-каналов с помощью простого Smarty, никаких внешних модулей или плагинов не требуется! Рольф 25-03-2021Простой способ объединения и минимизации файлов и кода JavaScriptЗагрузка отдельных файлов JavaScript задерживает рендеринг веб-страницы. Наличие большого веб-сайта CMS Made Simple с несколькими файлами JS может серьезно повлиять на общее время загрузки страницы. Объедините файлы в один JS-файл — так же, как тег {cms_stylesheet} для таблиц стилей — это решение. Я искал простой способ добиться этого, но… Rolf   10-06-2019Использование разделяющих тегов в шаблонах и таблицах стилейУдаление пробелов в шаблонах и таблицах стилей может улучшить ваш веб-сайт разными способами. Но в каких местах лучше всего размещать полоски? Я всегда забываю об этом, поэтому опубликую здесь несколько примеров, чтобы помочь себе, а вам 🙂 Rolf   10-06-2019Создайте свой собственный слайдер для новостных статей или изображенийЯ опишу основы создания слайдера, вы можете использовать его самостоятельно в своих шаблонах модуля CMS Made Simple. Подумайте о чередовании сводных представлений модулей News или CGBlog или чередовании логотипов компаний в модуле баннеров CMSMS. Rolf   29-08-2018Вызов тега Smarty из UDTДля моего веб-сайта по пневматическим трубам я использовал модуль «Продукты» для CMS Made Simple в качестве библиотеки изображений. Модуль отлично подошел для этой цели, я могу добавлять изображения и хранить дополнительную информацию в настраиваемых полях. Но для добавления одного изображения на страницу мне понадобился большой тег модуля с параметрами. Если в какой-то момент я захочу что-то изменить здесь, мне нужно изменить все теги на страницах… Я поискал и нашел способ облегчить мне это… Rolf   10-06-2019Изменение макета веб-сайта в зависимости от содержимого страницыВ этом образце шаблона у вас есть три блока контента, интерфейс веб-сайта будет меняться в зависимости от наличия контента в этих блоках. Нет необходимости в нескольких шаблонах. Rolf   10-06-2019Установка, чтение и отладка файлов cookieФайл cookie, также известный как файл cookie HTTP, веб-файл cookie или файл cookie браузера, обычно представляет собой небольшой фрагмент данных, отправляемый с веб-сайта и сохраняемый в веб-браузере пользователя, когда пользователь просматривает веб-сайт. Вы можете использовать файлы cookie для хранения пользовательских настроек, таких как стиль веб-сайта, языковые настройки и т. д. Я покажу вам, как устанавливать, читать и отлаживать файлы cookie на вашем веб-сайте CMS Made Simple. Rolf   04-04-2018Считайте дни, эта страница недавно? С помощью этого определяемого пользователем тега вы можете рассчитать возраст страницы с контентом и использовать его на своей странице/шаблоне, чтобы показать уведомление или оформить какой-либо текст. Рольф  23-06-2018Скрыть формы для определенных IP-адресовСкрыть формы веб-сайтов для определенных IP-адресов (частичный бан) размер файла. Rolf   23-06-2018Count itemsНебольшой определяемый пользователем тег, который подсчитывает элементы в массиве, полезен для нескольких модулей, таких как новости, CGBlog, продукты и т. д. Rolf   23-06-2018Добавить класс ко всем страницам(группам)Вы можете использовать этот небольшой тег, чтобы получить себе имя класса для текущей страницы. Это очень полезно, когда вы хотите применить определенный стиль CSS только к определенной странице или подмножеству страниц. Rolf   07-01-2018Протестируйте шаблоны, не нарушая интерфейсВам нужно провести несколько тестов на вашем сайте. Но вы не хотите ломать интерфейс для своих посетителей. Простое решение с использованием Smarty. Rolf   23-06-2018Модификатор массива SortСортировка вывода массива с помощью этого простого модификатора Smarty. Rolf   23-06-2018

Основы создания шаблонов Smarty : : CMS Made Simple — учебные пособия, советы и рекомендации

CMS Made Simple™ использует Smarty для создания базовых и сторонних шаблонов модулей. Вы можете сделать с ним *так много*, но вам нужно иметь некоторые базовые знания, чтобы начать использовать его в полной мере. В этом уроке я дам вам обзор наиболее полезных кодов, включая практические примеры.

Smarty — это механизм шаблонов для PHP, облегчающий отделение представления (HTML/CSS) от логики приложения. Это означает, что код PHP представляет собой логику приложения и отделен от представления.

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

  Как использовать

 Присвоить значение переменной

{$foo = ‘value’}

Подробнее о назначении

Переменная может быть: строкой, текстом, «lorem ipsum»

  • integer — целое число, «34»
  • double/float — дробь, «32,16»
  • BOOLEAN — TRUE/FALSE
  • Присвоение значению глобальной переменной

    {$ foo = ‘value’ Scope = Global}

    Подробнее о назначении

    .

    {capture assign=foo}{uploads_url}/images/path/{$image_name}.jpg{/capture}

    {$foo} будет «http://www.website.com/uploads/images/path/ photo-name.jpg»

    Подробнее о Назначить 

     Отображать переменную, только если она имеет значение

    {if !empty($foo)} <-- Означает, что если $foo не пусто
     

        Значение: {$foo}
     

    {/ if}

     Отображать блок содержимого только при его заполнении

    {$content2 = «{content block=’content2′}»}

    {if !empty($content2)} <-- означает, что если $content2 НЕ пусто
     

        {$content2}
     

    {/if}

     Отображается, только если переменная пуста

    {if empty($foo)} <-- Означает, что если $foo пусто
     
    {/if}

    Уравнение

     Уравнение

    ! НЕ
    &&  И
    || OR
    ==  EQUALS
    !=  NOT EQUALS

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

     Всегда отображать в нижнем регистре

    Используется для обозначения переменной в нижнем регистре.

    {$foo|lower}

    ‘AbCdEf’ будет ‘abcdef’
    ‘abcdef’ будет ‘abcdef’

    Подробнее о Lower

     Всегда отображать в верхнем регистре

    Используется для обозначения переменной в верхнем регистре.

    {$foo|upper}

    ‘AbCdEf’ будет ‘ABCDEF’
    ‘ABCDEF’ будет ‘ABCDEF’

    Подробнее о Upper

    Эта первая буква используется для заглавной буквы 90 всех слов в переменной.

    {$foo|capitalize}

    ‘abc def ghi’ станет ‘Abc Def Ghi’

    Подробнее о Capitalize

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

    {$foo|default:’Значение по умолчанию’}
    {$image|default:’default-image.jpg’}
     

    Подробнее о значении по умолчанию

    9 Значение округления

    {$ foo | Round}

    ’20, 23 ‘станет’ 20 ‘

    Значение усечения

    {$ foo | Трунрансат: 30}

    Подробнее о утечении

    Подробнее о утечении

    .