Recent changes
Wednesday November 04 2026
-
Attributes and dot notation Updated Markdown page
Reading data in templates with the dot: attributes of objects ($node.name), keys of hashes, items of arrays, chained lookups ($node.data_map.image.content), dynamic keys, and how to see what attributes an object has…
-
Breadcrumbs Updated Markdown page
A breadcrumb trail from $module_result.path: the markup (nav, ol, aria-current), skipping the tree root, pages of other modules, structured data, and the breadcrumb templates of the shipped designs.
-
Cache-block Updated Markdown page
The cache-block function in detail: keys, expiry (default 7200 seconds), ignore_content_expiry, subtree_expiry, what invalidates a block, safe keys for menus and user-dependent parts, and the mistakes that show one…
-
Comments Updated Markdown page
Template comments that never reach the browser, how to document a template's variables and purpose at its top as the shipped designs do, commenting out code, and why HTML comments are the wrong tool.
-
Common template mistakes Updated Markdown page
The template mistakes that cause most bugs, security holes and slow pages, each with its symptom and fix: unwashed output, fetch in loops, missing limits, cache keys, user data in cached views, quotes around ezurl…
-
cond and first_set Updated Markdown page
Two operators that pick a value: cond (the first value whose condition is true, like a chain of ternaries) and first_set (the first value that is set), with typical uses for classes, defaults and fallbacks.
-
content_view_gui Updated Markdown page
Drawing a content object (without a node) in a view mode with content_view_gui: when you have an object rather than a node (relations, embeds, search hits), the content/view templates, and the override keys it sets.
-
Custom edit templates Updated Markdown page
Give one content class its own edit form on the public site with an override of content/edit.tpl - the override rule, the variables the edit template receives, the form fields and buttons it must keep, and a short…
-
Custom tags templates Updated Markdown page
Custom tags in rich text (factbox, quote, strike, sub, sup and your own): declaring them in content.ini, inline or block, custom attributes, the template named after the tag, and keeping their markup accessible and…
-
Custom view modes Updated Markdown page
Adding view modes of your own (card, teaser, hero, payload): a default node/view template for the mode, class overrides for it, using it from node_view_gui and layout blocks, reaching it by URL, caching, and the…
-
Datatype edit templates Updated Markdown page
The edit form templates of each datatype under content/datatype/edit: when a public design needs them (front-end editing, registration, user profiles), field names and ids that must be kept, accessibility of labels and…
-
Datatype view templates Updated Markdown page
The templates that draw each kind of field (text line, rich text, image, date, relation ...) under content/datatype/view, what a few of them look like, how to restyle one for your whole design or for one class, and the…
-
Dates, numbers and l10n Updated Markdown page
Showing dates, times, numbers and prices in the visitor's locale with l10n (time, shorttime, date, shortdate, datetime, shortdatetime, currency, clean_currency, number), custom formats with datetime, the time element…
-
Edit, remove and create buttons on the site Updated Markdown page
Buttons on public pages that open the edit form, remove an item or create a new one below it - the content/action form fields they post, the permission checks that decide when to show them, and where the user lands…
-
Embed inline view Updated Markdown page
Objects embedded inside a line of rich text: the embed-inline tag and view mode, its templates, keeping the output inline (no block elements), and typical uses such as small icons, links to files and inline mentions.
-
Embed view Updated Markdown page
How objects embedded in rich text are drawn: the embed tag template, content_view_gui with view embed, the content/view/embed.tpl and node/view/embed.tpl defaults, alignment and classes from the editor, and per-class…
-
Error templates Updated Markdown page
Designing the error pages (access denied, not found, module not found, form token refused ...): the error/kernel/<number>.tpl templates and what each number means, the HTTP status sent, the sign-in form embedded on…
-
The ezhttp operator Updated Markdown page
Reading request values (GET, POST, session, cookie) in templates with ezhttp and ezhttp_hasvariable, why every such value is untrusted and must be washed, and why view parameters and fetch results are usually the better…
-
The ezini operator Updated Markdown page
Reading settings in templates with ezini and ezini_hasvariable: section, setting, file and directory parameters, arrays from INI lists, a theme's own settings file, and when settings in templates are the right tool.
-
ezjscore template operators Updated Markdown page
The template operators the ezjscore extension adds: the packer operators for stylesheets and scripts, json_encode, xml_encode and node_encode for handing data to scripts, and has_access_to_limitation.