Шаблон Smarty представляет собой обычный HTML-документ с добавленными в него специальными smarty-тегами. По умолчанию эти теги заключаются в фигурные скобки ? {тег}. При выводе шаблона эти теги обрабатываются компилятором и в зависимости от их назначения ? переменная или функция, отображается желаемый результат.
В примере 1 приведен шаблон, в котором одновременно встречаются теги HTML и smarty-теги.
В данном примере совместно применяются HTML-теги, переменные и функции Smarty.
Теги HTML
Любые элементы HTML вставляются в шаблон в своем исходном виде, за исключением фигурных скобок, которые понимаются Smarty как внутренние команды. Подобные скобки могут встречаться в тексте или в скриптах для обозначения функций. В этом случае следует использовать команду {literal}...{/literal} чтобы показать Smarty, что скобки следует отображать ?как есть?. Также допустимо переназначить фигурные скобки для обозначения команд на нечто иное.
Поскольку на сайтах часто определенные элементы повторяются на каждой странице, имеет смысл разделить один шаблон на несколько файлов. Для этого применяется функция {include} как показано в примере 1. В качестве значения параметра file берется имя подключаемого шаблона.
Переменные пользователя
Все переменные Smarty, заданные через PHP указываются в фигурных скобках и со знаком доллара, например ? {$text}. Само определение переменной в PHP-файле происходит с помощью метода assign, как показано в примере 2.
Пример 2. Создание и использование пользовательских переменных
Вначале в PHP-файле определяются все необходимые переменные, которые передаются в шаблон через метод assign. В самом шаблоне переменные встраиваются в код HTML со знаком $ впереди и в фигурных скобках.
Smarty не ограничивается простыми переменными, допустимо вставлять в шаблон любые значения числовых и ассоциативных массивов. В примере 3 показана работа с такими массивами.
Файл index.tpl <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1251"> <title>Массивы</title> </head> <body>
<p>{$fibo[6]}</p> <p>{$cmyk.c}</p>
</body> </html>
В данном примере в первой строке будет показано число 8, а во второй строке выведется текст ?cyan?.
Переменные $smarty
Для обращения к зарезервированным в PHP массивам GET, POST, COOKIES, SERVER, ENV и SESSION применяется специальная переменная $smarty. Вначале пишется $smarty, затем после точки имя массива PHP, дальше чего через точку указывается имя переменной пользователя. В табл. 1 приведены некоторые переменные запроса.
Табл. 1. Получение переменных запроса через Smarty
$smarty.get.id Значение id, полученное через метод GET
$smarty.post.name Значение name, полученное через метод POST
$smarty.cookies.user Значение user, хранящееся в кукисах
$smarty.session.time Значение time, хранящееся в сессии
В текущем примере используется функция {if}, которая проверяет, получены ли данные по методу POST и выводит значение user при ее наличии.
Переменные файлов конфигурации
Конфигурационные файлы нужны для хранения каких-либо типовых значений и могут включать в себя текст, числа, цвета и др.
Обращение к переменным таких файлов состоит из некоторых шагов. Вначале следует создать файл (он обычно имеет расширение conf) и сохранить его в папке smartyconfigs. Содержимое этого файла состоит из имени переменной и значения в кавычках (пример 5).
Пример 5. Содержимое конфигурационного файла
bgcolor = "#f0f0f0" command = "Извлечь" num = "5"
Как видно из данного примера, каждая переменная занимает одну строку в тексте. Для обращения к переменным в шаблоне вначале следует загрузить конфигурационный файл через функцию {config_load file="имя файла"}, после чего вписать имя переменной в виде {#переменная#}, как показано в примере 6.
Пример 6. Использование конфигурационных переменных
В данном примере переменные title, align, widthTable, bgCell задаются в файле main.conf.
Функции
Функции Smarty очень похожи по синтаксису на переменные, но пишутся без знака $ в начале, например {if}, упоминаемая ранее. Большинство функций содержат аргументы, которые расширяют возможности по настройке этих функций. Все аргументы указываются через пробел, значения заключаются в одинарные, двойные кавычки или пишутся вообще без них. Исключением является текст, который всегда должен писаться в кавычках. Также внутри функций можно задавать переменные, как показано в примере 7.
You can post now and register later.
If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.
Здравствуйте, подскажите какой тег использовать для увеличения значения, пример на картинке.
Вроде, про такой тег я слышала. Если есть тег прогресс бар, значит и такое должно быть.
Question
Vlad
Шаблон Smarty представляет собой обычный HTML-документ с добавленными в него специальными smarty-тегами. По умолчанию эти теги заключаются в фигурные скобки ? {тег}. При выводе шаблона эти теги обрабатываются компилятором и в зависимости от их назначения ? переменная или функция, отображается желаемый результат.
В примере 1 приведен шаблон, в котором одновременно встречаются теги HTML и smarty-теги.
В данном примере совместно применяются HTML-теги, переменные и функции Smarty.
Теги HTML
Любые элементы HTML вставляются в шаблон в своем исходном виде, за исключением фигурных скобок, которые понимаются Smarty как внутренние команды. Подобные скобки могут встречаться в тексте или в скриптах для обозначения функций. В этом случае следует использовать команду {literal}...{/literal} чтобы показать Smarty, что скобки следует отображать ?как есть?. Также допустимо переназначить фигурные скобки для обозначения команд на нечто иное.
Поскольку на сайтах часто определенные элементы повторяются на каждой странице, имеет смысл разделить один шаблон на несколько файлов. Для этого применяется функция {include} как показано в примере 1. В качестве значения параметра file берется имя подключаемого шаблона.
Переменные пользователя
Все переменные Smarty, заданные через PHP указываются в фигурных скобках и со знаком доллара, например ? {$text}. Само определение переменной в PHP-файле происходит с помощью метода assign, как показано в примере 2.
Вначале в PHP-файле определяются все необходимые переменные, которые передаются в шаблон через метод assign. В самом шаблоне переменные встраиваются в код HTML со знаком $ впереди и в фигурных скобках.
Smarty не ограничивается простыми переменными, допустимо вставлять в шаблон любые значения числовых и ассоциативных массивов. В примере 3 показана работа с такими массивами.
В данном примере в первой строке будет показано число 8, а во второй строке выведется текст ?cyan?.
Переменные $smarty
Для обращения к зарезервированным в PHP массивам GET, POST, COOKIES, SERVER, ENV и SESSION применяется специальная переменная $smarty. Вначале пишется $smarty, затем после точки имя массива PHP, дальше чего через точку указывается имя переменной пользователя. В табл. 1 приведены некоторые переменные запроса.
Табл. 1. Получение переменных запроса через Smarty
$smarty.get.id Значение id, полученное через метод GET
$smarty.post.name Значение name, полученное через метод POST
$smarty.cookies.user Значение user, хранящееся в кукисах
$smarty.session.time Значение time, хранящееся в сессии
$smarty.server.SCRIPT_NAME Вывод переменной сервера SCRIPT_NAME
Подобные переменные удобны при получении данных форм, что и продемонстрировано в примере 4.
В текущем примере используется функция {if}, которая проверяет, получены ли данные по методу POST и выводит значение user при ее наличии.
Переменные файлов конфигурации
Конфигурационные файлы нужны для хранения каких-либо типовых значений и могут включать в себя текст, числа, цвета и др.
Обращение к переменным таких файлов состоит из некоторых шагов. Вначале следует создать файл (он обычно имеет расширение conf) и сохранить его в папке smartyconfigs. Содержимое этого файла состоит из имени переменной и значения в кавычках (пример 5).
Как видно из данного примера, каждая переменная занимает одну строку в тексте. Для обращения к переменным в шаблоне вначале следует загрузить конфигурационный файл через функцию {config_load file="имя файла"}, после чего вписать имя переменной в виде {#переменная#}, как показано в примере 6.
В данном примере переменные title, align, widthTable, bgCell задаются в файле main.conf.
Функции
Функции Smarty очень похожи по синтаксису на переменные, но пишутся без знака $ в начале, например {if}, упоминаемая ранее. Большинство функций содержат аргументы, которые расширяют возможности по настройке этих функций. Все аргументы указываются через пробел, значения заключаются в одинарные, двойные кавычки или пишутся вообще без них. Исключением является текст, который всегда должен писаться в кавычках. Также внутри функций можно задавать переменные, как показано в примере 7.
В данном примере встречается несколько функций ? {assign}, {include}, {foreach}, {if}.
Link to comment
Share on other sites
0 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.