{config_load}

{config_load} is used for loading config #variables# from a configuration file into the template.

Attribute NameTypeRequiredDefaultDescription
filestringYesn/aThe name of the config file to include
sectionstringNon/aThe name of the section to load
scopestringnolocal How the scope of the loaded variables are treated, which must be one of local, parent or global. local means variables are loaded into the local template context. parent means variables are loaded into both the local context and the parent template that called it. global means variables are available to all templates.
globalbooleanNoNo Whether or not variables are visible to the parent template, same as scope=parent. NOTE: This attribute is deprecated by the scope attribute, but still supported. If scope is supplied, this value is ignored.

Example 7-3. {config_load}

The example.conf file.

#this is config file comment

# global variables
pageTitle = "Main Menu"
bodyBgColor = #000000
tableBgColor = #000000
rowBgColor = #00ff00

#customer variables section
[Customer]
pageTitle = "Customer Info"

and the template

{config_load file="example.conf"}

<html>
<title>{#pageTitle#|default:"No title"}</title>
<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 Files may also contain sections. You can load variables from within a section with the added attribute section. Note that global config variables are always loaded along with section variables, and same-named section variables overwrite the globals.

Note: Config file sections and the built-in template function called {section} have nothing to do with each other, they just happen to share a common naming convention.

Example 7-4. function {config_load} with section

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

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

See $config_overwrite to create arrays of config file variables.

See also the config files page, config variables page, $config_dir, get_config_vars() and config_load().