aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/smarty/smarty/docs/designers/config-files.md
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/smarty/smarty/docs/designers/config-files.md')
-rw-r--r--vendor/smarty/smarty/docs/designers/config-files.md77
1 files changed, 77 insertions, 0 deletions
diff --git a/vendor/smarty/smarty/docs/designers/config-files.md b/vendor/smarty/smarty/docs/designers/config-files.md
new file mode 100644
index 000000000..c840e3a67
--- /dev/null
+++ b/vendor/smarty/smarty/docs/designers/config-files.md
@@ -0,0 +1,77 @@
+Config Files {#config.files}
+============
+
+Config files are handy for designers to manage global template variables
+from one file. One example is template colors. Normally if you wanted to
+change the color scheme of an application, you would have to go through
+each and every template file and change the colors. With a config file,
+the colors can be kept in one place, and only one file needs to be
+updated.
+
+
+ # global variables
+ pageTitle = "Main Menu"
+ bodyBgColor = #000000
+ tableBgColor = #000000
+ rowBgColor = #00ff00
+
+ [Customer]
+ pageTitle = "Customer Info"
+
+ [Login]
+ pageTitle = "Login"
+ focus = "username"
+ Intro = """This is a value that spans more
+ than one line. you must enclose
+ it in triple quotes."""
+
+ # hidden section
+ [.Database]
+ host=my.example.com
+ db=ADDRESSBOOK
+ user=php-user
+ pass=foobar
+
+
+
+Values of [config file variables](./language-variables/language-config-variables.md) can be in
+quotes, but not necessary. You can use either single or double quotes.
+If you have a value that spans more than one line, enclose the entire
+value with triple quotes (\"\"\"). You can put comments into config
+files by any syntax that is not a valid config file syntax. We recommend
+using a `
+ #` (hash) at the beginning of the line.
+
+The example config file above has two sections. Section names are
+enclosed in \[brackets\]. Section names can be arbitrary strings not
+containing `[` or `]` symbols. The four variables at the top are global
+variables, or variables not within a section. These variables are always
+loaded from the config file. If a particular section is loaded, then the
+global variables and the variables from that section are also loaded. If
+a variable exists both as a global and in a section, the section
+variable is used. If you name two variables the same within a section,
+the last one will be used unless
+[`$config_overwrite`](../programmers/api-variables/variable-config-overwrite.md) is disabled.
+
+Config files are loaded into templates with the built-in template
+function [`
+ {config_load}`](./language-builtin-functions/language-function-config-load.md) or the API
+[`configLoad()`](../programmers/api-functions/api-config-load.md) function.
+
+You can hide variables or entire sections by prepending the variable
+name or section name with a period(.) eg `[.hidden]`. This is useful if
+your application reads the config files and gets sensitive data from
+them that the template engine does not need. If you have third parties
+doing template editing, you can be certain that they cannot read
+sensitive data from the config file by loading it into the template.
+
+Config files (or resources) are loaded by the same resource facilities
+as templates. That means that a config file can also be loaded from a db
+`$smarty->configLoad("db:my.conf")`.
+
+See also [`{config_load}`](./language-builtin-functions/language-function-config-load.md),
+[`$config_overwrite`](../programmers/api-variables/variable-config-overwrite.md),
+[`$default_config_handler_func`](../programmers/api-variables/variable-default-config-handler-func.md),
+[`getConfigVars()`](../programmers/api-functions/api-get-config-vars.md),
+[`clearConfig()`](../programmers/api-functions/api-clear-config.md) and
+[`configLoad()`](../programmers/api-functions/api-config-load.md)