Размер файла: 7.83Kb
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>Chapter 9. Конфигурационные файлы</title>
- <meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
- <link rel="home" href="index.html" title="Руководство по Smarty">
- <link rel="up" href="smarty.for.designers.html" title="Part II. Smarty для дизайнеров шаблонов">
- <link rel="prev" href="language.function.textformat.html" title="{textformat}">
- <link rel="next" href="chapter.debugging.console.html" title="Chapter 10. Отладочная консоль">
- </head>
- <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
- <div class="navheader">
- <table width="100%" summary="Navigation header">
- <tr><th colspan="3" align="center">Chapter 9. Конфигурационные файлы</th></tr>
- <tr>
- <td width="20%" align="left">
- <a accesskey="p" href="language.function.textformat.html">Prev</a> </td>
- <th width="60%" align="center">Part II. Smarty для дизайнеров шаблонов</th>
- <td width="20%" align="right"> <a accesskey="n" href="chapter.debugging.console.html">Next</a>
- </td>
- </tr>
- </table>
- <hr>
- </div>
- <div class="chapter" title="Chapter 9. Конфигурационные файлы">
- <div class="titlepage"><div><div><h2 class="title">
- <a name="config.files"></a>Chapter 9. Конфигурационные файлы</h2></div></div></div>
- <p>
- С помощью конфигурационных файлов дизайнеру удобно управлять глобальными
- переменными из одного файла. Например, цветами в шаблонах. Обычно, если
- вы хотите сменить цветувую схему, то необходимо просмотреть каждый шаблон
- и в каждом изменить цвета. С помощью файла конфигурации все цвета могут
- быть вынесены в отдельный файл и только один файл надо будет исправлять.
- </p>
- <div class="example">
- <a name="id2707531"></a><p class="title"><b>Example 9.1. Пример файла конфигурации</b></p>
- <div class="example-contents"><pre class="programlisting">
-
- # глобальные переменные
- 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
-
- </pre></div>
- </div>
- <br class="example-break"><p>
- Значения <a class="link" href="language.config.variables.html" title="Переменные файлов конфигурации">переменных в
- конфигурационных файлах</a> могут заключаться в кавычки, но это не
- обязательно. Можно использовать как двойные, так и одинарные кавычки.
- Если у вас есть значение, которое занимает больше, чем одну строку,
- необходимо заключить его в тройные кавычки (""").
- Можно включать комментарии в файл конфигурации используя любой синтакис,
- который не является допустимым синтаксисом файлов конфигурации.
- Для этих целей рекомендуется использовать символ <code class="literal">#</code>
- (hash) в начале строки.
- </p>
- <p>
- Конфигурационный файл в примере имеет две секции. Названия секций заключены в
- квадратные скобки []. Названия секций могут быть произвольными строками,
- не содержащими символов <code class="literal">[</code> или <code class="literal">]</code>. Четыре
- переменные вначале - глобальные переменные или переменные вне секций.
- Эти переменные всегда загружаются из файла конфигурации. Если загружается
- определенная секция, то глобальные переменные и переменные из этой секции
- становятся доступными. Если переменная существует как глобальная, так и
- внутри секции, то используется версия из секции. Если есть две одинаковые
- переменные в пределах одной секции, то используеться последний встретившийся
- вариант, если только параметр <a class="link" href="variable.config.overwrite.html" title="$config_overwrite">
- <em class="parameter"><code>$config_overwrite</code></em></a>
- не был предварительно отключен.
- </p>
- <p>
- Файлы конфигурации загружаются в шаблон при помощи
- встроенной шаблонной функции
- <a class="link" href="language.function.config.load.html" title="{config_load}"><code class="varname">
- {config_load}</code></a> или API-функции <a class="link" href="api.config.load.html" title="config_load()"><code class="varname">config_load()</code></a>.
- </p>
- <p>
- Можно спрятать отдельные переменные или целые секции, добавив к названию
- точку в начале, например <code class="literal">[.hidden]</code>.
- Это полезно, когда ваше приложение берет некоторые
- переменные, ненужные в шаблоне, из файла конфигурации. Если шаблоны могут
- редактировать третьи лица, то вы можете быть спокойны за ценную информацию
- из файлов конфигураций: они не смогут ее загрузить в шаблон.
- </p>
- <p>
- См. также <a class="link" href="language.function.config.load.html" title="{config_load}">
- <code class="varname">{config_load}</code></a>,
- <a class="link" href="variable.config.overwrite.html" title="$config_overwrite">
- <em class="parameter"><code>$config_overwrite</code></em></a>,
- <a class="link" href="api.get.config.vars.html" title="get_config_vars">
- <code class="varname">get_config_vars()</code></a>,
- <a class="link" href="api.clear.config.html" title="clear_config()"><code class="varname">clear_config()</code></a> и
- <a class="link" href="api.config.load.html" title="config_load()"><code class="varname">config_load()</code></a>
- </p>
- </div>
- <div class="navfooter">
- <hr>
- <table width="100%" summary="Navigation footer">
- <tr>
- <td width="40%" align="left">
- <a accesskey="p" href="language.function.textformat.html">Prev</a> </td>
- <td width="20%" align="center"><a accesskey="u" href="smarty.for.designers.html">Up</a></td>
- <td width="40%" align="right"> <a accesskey="n" href="chapter.debugging.console.html">Next</a>
- </td>
- </tr>
- <tr>
- <td width="40%" align="left" valign="top">{textformat} </td>
- <td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td>
- <td width="40%" align="right" valign="top"> Chapter 10. Отладочная консоль</td>
- </tr>
- </table>
- </div>
- </body>
- </html>