{{indexmenu_n>20}}
====== Templates ======
Have a look: [[english/templates]]
\\
**System variables:**
- $block['name'] // name: [Template name]
- $block['layout'] // layout: [layout-No.]
- $block['overwrite'] // settings: [default|Name of the PHP file in /template/inc_settings/template_default/]
- $block["css"] // CSS file: Output into an array e.g. Array([0] => frontend.css [1] => nav_horiz_drop_down.css)
- $block['htmlhead'] // Content HTML head:
- $block['jslib'] // JS Library: [Lib name]
- $block['jslibload'] // always load [0|1]
- $block['googleapi'] // use Google Ajax Lib [0|1]
- $block['frontendjs'] // load frontend.js (more for historical reasons) [0|1]
- $block['jsonload'] // JS onload: [JS string]
- $block['feloginurl'] // FE LoginURL: [url]
- $block['headertext'] // Content header: [Content]
- $block['maintext'] // Content main: [Content]
- $block['footertext'] // Content footer: [Content]
- $block['lefttext'] // Content left: [Content]
- $block['righttext'] // Content right: [Content]
- $block['customblock_XXX'] // Content custom blocks XXX [Content]
- $block['errortext'] // Content error: [Content]
\\
===== Mount a static file as a template in the "main:" =====
One way to use a file on the server as a template. Thus, the editing of the template via CMS is shifted to an FTP enabled editor.
**Condition:** -> [[http://www.phpwcms-docu.de/conf_inc_php_en.phtml|/config/phpwcms/conf.inc.php]] \\
* $phpwcms['allow_ext_init'] = 1;
\\
In the directory **template/inc_script/frontend_init/** we store the file **template_inject01.php** with the following content:
\\
In this example the template file is called **main01.php** and is stored in the directory **template/inc_script/template/**. \\
The script looks in the template block "main:" whether the text **main01.php** is entered there. (And only this one).
In **main01.php** wird der Quelltext für "Haupt:" abgelegt ohne den öffnenden/schließenden PHP-Tag %%%%.
In **main01.php** the source code for "main:" is passed without the opening/closing PHP tag %%%%.
To speed up the query the presence of tags is not tested in the "main:" field.
**This procedure should only be used in the development phase!!**
\\
\\
===== Template: Embed the fields "header:", "footer:", "left:", "right:" in "main:" =====
Normally these fields aren't useful any more, because these fields with the layout variant rendering: "custom" will not be queried. \\
With a small replacer it is however possible to merge these input fields into the field "main:". \\
We set the tags into the postions where the contents of these fields in the template "main:" will be merged. \\
* **{HEADERTEMP}** = Content from "header:"
* **{FOOTERTEMP}** = Content from "footer:"
* **{RIGHTTEMP}** = Content from "right:"
* **{LEFTTEMP}** = Content from "left:"
It may happen that some functions in the alternative fields will be processed by the system before being inserted into "main". If so, please place the instructions directly into the "main:" field. Alternatively, the RT (SHOW_CONTENT :.....} could be used.
**Condition:** -> [[http://www.phpwcms-docu.de/conf_inc_php_en.phtml|/config/phpwcms/conf.inc.php]] \\
* $phpwcms['allow_ext_init'] = 1;
\\
Please insert the file **template_inject02.php** with the following content into the folder **template/inc_script/frontend_init/** :
\\
The self-defined "custom" blocks are addressed with (e.g. block name "BOX01" in page layout -> blocks -> custom:)
$block['customblock_BOX01']
To speed up the query the presence of tags is not tested in the "main:" field. It is your responsibility to use only tags, although the corresponding content is available in alternative fields.
\\
Both methods can be combined.