Recent changes
Saturday November 07 2026
-
Debugging templates Updated
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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…