{config_load}

{config_load} используется для загрузки конфигурационных переменных (#variables#) из конфигурационных файлов в шаблон.

Имя атрибута Тип Обязателен По умолчанию Описание
file string Да n/a Имя config файла для загрузки
section string Нет n/a Имя секции для загрузки
scope string Нет local Способ обработки области видимости загруженных переменных. Должен быть одинм из local, parent или global. local означает, что переменные загружены в контекст локального шаблона. parent означает, что переменные загружены в контекст как локального, так и родительского шаблона. global означает, что переменные доступны из любого шаблона.
global boolean Нет No Доступны ли переменные из родительского шаблона. Аналогичен scope=parent. ЗАМЕЧАНИЕ: Этот атрибут перекрывается атрибутом scope, но все еще поддерживается. Если scope указан, то это значение игнорируется.

Example 7.3. {config_load}

Файл example.conf.


#это комментарий конфигурационного файла

# глобальные переменные
pageTitle = "Main Menu"
bodyBgColor = #000000
tableBgColor = #000000
rowBgColor = #00ff00

#секция переменных customer
[Customer]
pageTitle = "Customer Info"

  

и шаблон


{config_load file="example.conf"}

<html>
 <head>
  <title>{#pageTitle#|default:"No title"}</title>
 </head>
 <body bgcolor="{#bodyBgColor#}">
  <table border="{#tableBorderSize#}" bgcolor="{#tableBgColor#}">
	  <tr bgcolor="{#rowBgColor#}">
		  <td>First</td>
		  <td>Last</td>
		  <td>Address</td>
	  </tr>
  </table>
 </body>
</html>

  

Конфигурационные файлы могут также содержать секции. Вы можете загружать переменные из определенной секции, указав атрибут section. Имейте в виду, что глобальные конфигурационные переменные всегда загружаются вместе с секционными переменными, которые могут переопределять их.

Note

Секции файлов конфигурации и встроенная функция {section} не имеют ничего общего, кроме схожего названия.

Example 7.4. функция {config_load} с секцией


{config_load file='example.conf' section='Customer'}

<html>
 <head>
  <title>{#pageTitle#|default:"No title"}</title>
 </head>
 <body bgcolor="{#bodyBgColor#}">
  <table border="{#tableBorderSize#}" bgcolor="{#tableBgColor#}">
	  <tr bgcolor="{#rowBgColor#}">
		  <td>First</td>
		  <td>Last</td>
		  <td>Address</td>
	  </tr>
  </table>
 </body>
</html>

  

См. $config_overwrite для массивов конфигурационных переменных.

См. также Конфигурационные файлы, Конфигурационные переменные, $config_dir, get_config_vars() и config_load().