Recent changes
35934 changed pages · Atom feed · Recent comments · Recently added · Recent ratings
Saturday November 07 2026
- Debugging templates (Updated)
Technical manual 6.x · Changed 05:42 am · Last updated by Graham Brookins on 11/07/2026
When a page looks wrong, three questions come up: which template printed this, why that template and not mine, and what went wrong inside it. Exponential answers them with the Exp Debug bar, template path comments and a… - Variables in pagelayout (Updated)
Technical manual 6.x · Changed 05:40 am · Last updated by Graham Brookins on 11/07/2026
Before it renders the pagelayout, Exponential sets these variables (kernel/private/classes/ezpkernelweb.php, Exponential 6.0.15): Variable Holds $module_result The result of the view: its HTML in .content, and the pa… - Variable usage (Updated)
Technical manual 6.x · Changed 05:40 am · Last updated by Graham Brookins on 11/07/2026
Variables are written with a dollar sign, $name, and their names are case sensitive. Some are set by the system before a template runs ($node in a node template, $module_result in the pagelayout); the others you create i… - Variable types (Updated)
Technical manual 6.x · Changed 05:40 am · Last updated by Graham Brookins on 11/07/2026
Template values are numbers, strings, booleans, arrays and objects. Numbers and strings are written directly; booleans and arrays are made with operators; objects come from the system: from the variables a view sets, fro… - URL handling (Updated)
Technical manual 6.x · Changed 05:39 am · Last updated by Graham Brookins on 11/07/2026
Never write the address of a page, an image or a stylesheet into a template as it is. An installation can run in a subfolder, with the siteaccess in the address, behind index.php, or on its own host, and a design file ca… - The Template Editor (Updated)
Technical manual 6.x · Changed 05:39 am · Last updated by Graham Brookins on 11/07/2026
The Template Editor in the administration interface lists the templates of a siteaccess, shows the override rules of each template in the order they are tried, creates and removes overrides, reorders them, changes their… - System templates (Updated)
Technical manual 6.x · Changed 05:39 am · Last updated by Graham Brookins on 11/07/2026
A system template is the template of any view that does not show a content node: signing in, searching, the basket, the user's settings, the error pages and every page of the administration interface. Its path is usually… - Template security and wash (Updated)
Technical manual 6.x · Changed 05:39 am · Last updated by Graham Brookins on 11/07/2026
The template language does not escape what it prints. {$value} sends the value as it is, so a name with <script> in it would run in every visitor's browser. Escaping is your job, and the operator for it is wash. What to… - The pagelayout (Updated)
Technical manual 6.x · Changed 05:39 am · Last updated by Graham Brookins on 11/07/2026
The pagelayout is the main template of a siteaccess. Exponential renders it around the result of every view, so it holds what every page shares: the html, head and body elements, the stylesheets and scripts, the header,… - The page head (Updated)
Technical manual 6.x · Changed 05:39 am · Last updated by Graham Brookins on 11/07/2026
The standard design has a template, page_head.tpl, that prints the tags of the head element which depend on the page: the title, the meta tags and the link tags. A pagelayout includes it: <head> {include uri='design:page… - The template override system (Updated)
Technical manual 6.x · Changed 05:39 am · Last updated by Graham Brookins on 11/07/2026
The template override system lets a design use another template than the default in situations you describe: a template for articles, another for one particular node, another for everything in a section. A rule names the… - Template override example (Updated)
Technical manual 6.x · Changed 05:39 am · Last updated by Graham Brookins on 11/07/2026
This example gives a small site four templates of its own: one for the front page, one for folders, one for articles and one for products. The site has a front page (node 2) with two folders below it, News with articles… - Outputting node and object data (Updated)
Technical manual 6.x · Changed 05:39 am · Last updated by Graham Brookins on 11/07/2026
A node template has the node in $node, and a fetch returns nodes too. This page shows how to print what a node and its object hold. Node and object A node is a place in the content tree; its object holds the content and… - Node templates (Updated)
Technical manual 6.x · Changed 05:39 am · Last updated by Graham Brookins on 11/07/2026
A node template shows one content node. Exponential uses one whenever it displays a node: when a visitor opens the node's address (its URL alias, such as /company/about-us), when the system address /content/view/full/… - Information extraction (Updated)
Technical manual 6.x · Changed 05:39 am · Last updated by Graham Brookins on 11/07/2026
Templates read data with fetch. The operator calls a fetch function of a module, for example list of the content module, with its parameters as a hash, and returns the result: fetch( '<module>', '<function>', hash( '<par… - Functions and operators (Updated)
Technical manual 6.x · Changed 05:39 am · Last updated by Graham Brookins on 11/07/2026
Template code calls two kinds of building blocks: functions , which do something in the template (loop, include, define a variable, show an attribute), and operators , which take values and return a value. Both are regis… - Template engines (Updated)
Technical manual 6.x · Changed 05:39 am · Last updated by Graham Brookins on 11/07/2026
Exponential 6.0.15 renders templates in three languages. All three run inside the same template system: they are found through the same design chain and override rules, see the same variables, can call every operator, fe… - Designs and design order (Updated)
Technical manual 6.x · Changed 05:39 am · Last updated by Graham Brookins on 11/07/2026
A design is a folder of templates and the files they use. Each siteaccess uses a chain of designs, and every template, image and stylesheet is looked up in that chain: the first design that has the file wins. This page d… - Template caching and cache-block (Updated)
Technical manual 6.x · Changed 05:39 am · Last updated by Graham Brookins on 11/07/2026
Three caches decide how often your templates really run. Knowing them explains why a change shows at once or not at all, and where to put work that is expensive. Cache Holds Renewed Compiled templates Each template turne… - Basic template tasks (Updated)
Technical manual 6.x · Changed 05:38 am · Last updated by Graham Brookins on 11/07/2026
This section collects tasks that come up in almost every template: including another template, building links, escaping output, joining strings, translating texts and reading parameters from the address. Links, images an…