Skip to the content
Documentation

Recent changes

Recent ratings Recently added Recent comments Atom feed

35934 changed pages

Saturday November 07 2026

  1. 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…

  2. 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…

  3. 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…

  4. 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…

  5. 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…

  6. 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…

  7. 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…

  8. 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…

  9. 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,…

  10. 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…

  11. 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…

  12. 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…

  13. 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…

  14. 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/…

  15. 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…

  16. 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…

  17. 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…

  18. 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…

  19. 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…

  20. 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…