- Type operators The 13 operators of eZTemplateTypeOperator (is_array, is_boolean, is_integer, is_float, is_numeric, is_string, is_object, is_null, is_class, is_set, is_unset, get_type, get_class) with their input rules and examples…
- A CSP audit for every release Check before each release that the theme still works under a strict Content Security Policy - report-only mode on a test siteaccess, the browser console, a grep for inline code, and external resources.
- By hand: a datatype Add the rating datatype by hand: the four files and two settings in build order, a check after each step, and a test plan in the class editor.
- Card payments and PCI basics Basics, not compliance advice - how card payments reach an Exponential store, the difference between redirect gateways and an on-site card form, what the ezauthorize extension does with card data according to its code…
- Class naming and the exp prefix How to name PHP classes, files, functions, settings and tables in Exponential - your own prefix, exp for code contributed to the project, sevenx for 7x, why kernel eZ identifiers are never renamed, file names…
- CLI scripts and ezexec for integrations Running integration code on the Exponential server from the command line - quick scripts with bin/php/ezexec.php, proper commands with eZScript in your extension, how the console finds them, siteaccess and user, exit…
- Composer packages and source on GitHub How Exponential's code reaches a public body (GitHub repositories and Composer packages on Packagist), why published versions never change, how to keep your own copy of every source you depend on, and how to check what…
- CSP: javascript: links, eval and string timers The remaining kinds of inline code a Content Security Policy blocks - javascript: links, eval(), new Function(), string timers, scripts inserted as HTML and JSONP - and how to replace each in an old extension.
- Debugging templates Find why a template, an override or a variable does not do what you expect - used templates, path comments, template debug, the attribute operator, debug-log and timing points, and the error messages of the engine.
- Exporting with the REST API For developers moving content to a records system, an archive or an open data portal - the read routes of Exponential's REST API (v1 and v2), authentication with OAuth2 tokens or personal API keys, permission checks…
- eZFile, eZDir and cluster file handlers Read and write files the way Exponential expects - eZFile::create() and rename(), eZDir::mkdir() and path(), and eZClusterFileHandler for anything under var/ so the extension works on clustered installations too.
- Fetch functions: reading data in templates Read data in templates with fetch() - the content fetches (node, object, list, tree, list_count, related objects), their parameters (filters, sorting, limits, attribute filters), the other modules' fetches, and…
- Growing the community through code How code itself grows a community - publishing what you built, good first issues, documentation and translations, help pages inside your extension, and the community sites where people look for extensions.
- Listing children and pagination List the items of a folder for a list screen through the REST API - the list route and its defaults, offset and limit paging, infinite scroll, sorting by name, date or priority, the order of the path segments, the…
- Literal and delimiters Printing braces in template output with ldelim and rdelim, or a whole passage untouched with literal; why designs rarely need either now that CSS and JavaScript live in files.
- Queries: content fetches, eZDB and SQL How to query data in Exponential when you are used to a query builder - content fetches with class, attribute and depth filters for content, condition arrays for persistent objects, eZDB arrayQuery and escaping for your…
- Reading licenses before you reuse anything The licenses you meet around Exponential, in plain words: GPL 2 or later, GPL 3, MIT, GNU FDL, all rights reserved and no license, and where to find them. Not legal advice.
- Siteaccess settings inside a theme Ship settings that apply only while one siteaccess runs, in extension/<theme>/settings/siteaccess/<siteaccess>/, and settings for all of a theme's siteaccesses in settings/override/ - with the example of…
- String operators The 15 operators of eZTemplateStringOperator (upcase, downcase, upfirst, upword, count_words, count_chars, trim, simplify, pad, shorten, wrap, break, wash, ord, chr), every wash type (xhtml, email, javascript, pdf), and…
- Template functions Block tags like {mysite_card}...{/mysite_card}: registration, the process() contract, evaluating parameters and children, a verified example, and when an operator or include is better.
Documentation license
This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.
Exponential Copyright © 1998-2026 Exponential Foundation and 7x