Просмотр файла manual-ru/config.files.html

Размер файла: 7.83Kb
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  4. <title>Chapter 9. Конфигурационные файлы</title>
  5. <meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
  6. <link rel="home" href="index.html" title="Руководство по Smarty">
  7. <link rel="up" href="smarty.for.designers.html" title="Part II. Smarty для дизайнеров шаблонов">
  8. <link rel="prev" href="language.function.textformat.html" title="{textformat}">
  9. <link rel="next" href="chapter.debugging.console.html" title="Chapter 10. Отладочная консоль">
  10. </head>
  11. <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
  12. <div class="navheader">
  13. <table width="100%" summary="Navigation header">
  14. <tr><th colspan="3" align="center">Chapter 9. Конфигурационные файлы</th></tr>
  15. <tr>
  16. <td width="20%" align="left">
  17. <a accesskey="p" href="language.function.textformat.html">Prev</a> </td>
  18. <th width="60%" align="center">Part II. Smarty для дизайнеров шаблонов</th>
  19. <td width="20%" align="right"> <a accesskey="n" href="chapter.debugging.console.html">Next</a>
  20. </td>
  21. </tr>
  22. </table>
  23. <hr>
  24. </div>
  25. <div class="chapter" title="Chapter 9. Конфигурационные файлы">
  26. <div class="titlepage"><div><div><h2 class="title">
  27. <a name="config.files"></a>Chapter 9. Конфигурационные файлы</h2></div></div></div>
  28. <p>
  29. С помощью конфигурационных файлов дизайнеру удобно управлять глобальными
  30. переменными из одного файла. Например, цветами в шаблонах. Обычно, если
  31. вы хотите сменить цветувую схему, то необходимо просмотреть каждый шаблон
  32. и в каждом изменить цвета. С помощью файла конфигурации все цвета могут
  33. быть вынесены в отдельный файл и только один файл надо будет исправлять.
  34. </p>
  35. <div class="example">
  36. <a name="id2707531"></a><p class="title"><b>Example 9.1. Пример файла конфигурации</b></p>
  37. <div class="example-contents"><pre class="programlisting">
  38.  
  39. # глобальные переменные
  40. pageTitle = "Main Menu"
  41. bodyBgColor = #000000
  42. tableBgColor = #000000
  43. rowBgColor = #00ff00
  44.  
  45. [Customer]
  46. pageTitle = "Customer Info"
  47.  
  48. [Login]
  49. pageTitle = "Login"
  50. focus = "username"
  51. Intro = """Значение, которое занимает больше
  52. чем одну строку должно быть заключено
  53. в тройные кавычки."""
  54.  
  55. # спрятанная секция
  56. [.Database]
  57. host=my.example.com
  58. db=ADDRESSBOOK
  59. user=php-user
  60. pass=foobar
  61.  
  62. </pre></div>
  63. </div>
  64. <br class="example-break"><p>
  65. Значения <a class="link" href="language.config.variables.html" title="Переменные файлов конфигурации">переменных в
  66. конфигурационных файлах</a> могут заключаться в кавычки, но это не
  67. обязательно. Можно использовать как двойные, так и одинарные кавычки.
  68. Если у вас есть значение, которое занимает больше, чем одну строку,
  69. необходимо заключить его в тройные кавычки (""").
  70. Можно включать комментарии в файл конфигурации используя любой синтакис,
  71. который не является допустимым синтаксисом файлов конфигурации.
  72. Для этих целей рекомендуется использовать символ <code class="literal">#</code>
  73. (hash) в начале строки.
  74. </p>
  75. <p>
  76. Конфигурационный файл в примере имеет две секции. Названия секций заключены в
  77. квадратные скобки []. Названия секций могут быть произвольными строками,
  78. не содержащими символов <code class="literal">[</code> или <code class="literal">]</code>. Четыре
  79. переменные вначале - глобальные переменные или переменные вне секций.
  80. Эти переменные всегда загружаются из файла конфигурации. Если загружается
  81. определенная секция, то глобальные переменные и переменные из этой секции
  82. становятся доступными. Если переменная существует как глобальная, так и
  83. внутри секции, то используется версия из секции. Если есть две одинаковые
  84. переменные в пределах одной секции, то используеться последний встретившийся
  85. вариант, если только параметр <a class="link" href="variable.config.overwrite.html" title="$config_overwrite">
  86. <em class="parameter"><code>$config_overwrite</code></em></a>
  87. не был предварительно отключен.
  88. </p>
  89. <p>
  90. Файлы конфигурации загружаются в шаблон при помощи
  91. встроенной шаблонной функции
  92. <a class="link" href="language.function.config.load.html" title="{config_load}"><code class="varname">
  93. {config_load}</code></a> или API-функции <a class="link" href="api.config.load.html" title="config_load()"><code class="varname">config_load()</code></a>.
  94. </p>
  95. <p>
  96. Можно спрятать отдельные переменные или целые секции, добавив к названию
  97. точку в начале, например <code class="literal">[.hidden]</code>.
  98. Это полезно, когда ваше приложение берет некоторые
  99. переменные, ненужные в шаблоне, из файла конфигурации. Если шаблоны могут
  100. редактировать третьи лица, то вы можете быть спокойны за ценную информацию
  101. из файлов конфигураций: они не смогут ее загрузить в шаблон.
  102. </p>
  103. <p>
  104. См. также <a class="link" href="language.function.config.load.html" title="{config_load}">
  105. <code class="varname">{config_load}</code></a>,
  106. <a class="link" href="variable.config.overwrite.html" title="$config_overwrite">
  107. <em class="parameter"><code>$config_overwrite</code></em></a>,
  108. <a class="link" href="api.get.config.vars.html" title="get_config_vars">
  109. <code class="varname">get_config_vars()</code></a>,
  110. <a class="link" href="api.clear.config.html" title="clear_config()"><code class="varname">clear_config()</code></a> и
  111. <a class="link" href="api.config.load.html" title="config_load()"><code class="varname">config_load()</code></a>
  112. </p>
  113. </div>
  114. <div class="navfooter">
  115. <hr>
  116. <table width="100%" summary="Navigation footer">
  117. <tr>
  118. <td width="40%" align="left">
  119. <a accesskey="p" href="language.function.textformat.html">Prev</a> </td>
  120. <td width="20%" align="center"><a accesskey="u" href="smarty.for.designers.html">Up</a></td>
  121. <td width="40%" align="right"> <a accesskey="n" href="chapter.debugging.console.html">Next</a>
  122. </td>
  123. </tr>
  124. <tr>
  125. <td width="40%" align="left" valign="top">{textformat} </td>
  126. <td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td>
  127. <td width="40%" align="right" valign="top"> Chapter 10. Отладочная консоль</td>
  128. </tr>
  129. </table>
  130. </div>
  131. </body>
  132. </html>