What is Smarty?
Why use it?
Use Cases and Work Flow
Syntax Comparison
Template Inheritance
Best Practices
Crash Course
You may use the Smarty logo according to the trademark notice.
For sponsorship, advertising, news or other inquiries, contact us at:
С помощью конфигурационных файлов дизайнеру удобно управлять глобальными переменными из одного файла. Например, цветами в шаблонах. Обычно, если вы хотите сменить цветувую схему, то необходимо просмотреть каждый шаблон и в каждом изменить цвета. С помощью файла конфигурации все цвета могут быть вынесены в отдельный файл и только один файл надо будет исправлять.
Example 9.1. Пример файла конфигурации
# глобальные переменные pageTitle = "Main Menu" bodyBgColor = #000000 tableBgColor = #000000 rowBgColor = #00ff00 [Customer] pageTitle = "Customer Info" [Login] pageTitle = "Login" focus = "username" Intro = """Значение, которое занимает больше чем одну строку должно быть заключено в тройные кавычки.""" # спрятанная секция [.Database] host=my.example.com db=ADDRESSBOOK user=php-user pass=foobar
Значения переменных в
конфигурационных файлах могут заключаться в кавычки, но это не
обязательно. Можно использовать как двойные, так и одинарные кавычки.
Если у вас есть значение, которое занимает больше, чем одну строку,
необходимо заключить его в тройные кавычки (""").
Можно включать комментарии в файл конфигурации используя любой синтакис,
который не является допустимым синтаксисом файлов конфигурации.
Для этих целей рекомендуется использовать символ #
(hash) в начале строки.
Конфигурационный файл в примере имеет две секции. Названия секций заключены в
квадратные скобки []. Названия секций могут быть произвольными строками,
не содержащими символов [
или ]
. Четыре
переменные вначале - глобальные переменные или переменные вне секций.
Эти переменные всегда загружаются из файла конфигурации. Если загружается
определенная секция, то глобальные переменные и переменные из этой секции
становятся доступными. Если переменная существует как глобальная, так и
внутри секции, то используется версия из секции. Если есть две одинаковые
переменные в пределах одной секции, то используеться последний встретившийся
вариант, если только параметр
$config_overwrite
не был предварительно отключен.
Файлы конфигурации загружаются в шаблон при помощи
встроенной шаблонной функции
{config_load}
или API-функции config_load()
.
Можно спрятать отдельные переменные или целые секции, добавив к названию
точку в начале, например [.hidden]
.
Это полезно, когда ваше приложение берет некоторые
переменные, ненужные в шаблоне, из файла конфигурации. Если шаблоны могут
редактировать третьи лица, то вы можете быть спокойны за ценную информацию
из файлов конфигураций: они не смогут ее загрузить в шаблон.
См. также
{config_load}
,
$config_overwrite
,
get_config_vars()
,
clear_config()
и
config_load()