- The eZWorkflowType API The methods of a workflow event type - execute() and its status constants, allowed triggers, the settings form, cleanup - and its registration, with signatures and a tested example.
- The kickstarter for bundles How a bundle uses the kickstarter - kickstart.ini in the installation root, the ini and run commands with their real options, the sections of the file, DatabaseAction, the registration report a bundle should leave off…
- The node tree and sections Content objects versus the nodes that place them in the tree, how a branch inherits its section, and what sections are used for (permissions and presentation).
- Translations in a theme Ship the interface texts of a theme in several languages - translations/<locale>/translation.ts, TranslationExtensions[], the i18n operator with the theme's own context - and keep the files complete.
- Write your first module view A step-by-step task guide - create an extension with a module, declare a view and a policy function in module.php, implement the view as a class, render a template, give a role the policy, regenerate autoloads and open…
- Facts, themes and logos for the system card How an extension adds its own facts to ./console exp:expfetch, exp:info and exp:about - a provider class (expSysCardProvider, expSysCardBaseProvider), syscard.ini ProviderClasses[], a test with a fake context, a theme…
- A deprecation policy Decide and publish how your theme retires settings, templates, view modes and operators - announce, keep working, warn, remove in a later step - so users have time to adapt.
- A design inside an extension Templates, overrides, stylesheets, scripts and images an extension carries: which design folder to use, how to make them overridable, and how they reach the page.
- Attribute and dump operators attribute and dump from eZTemplateAttributeOperator - listing what an object, a hash or an array offers to templates, with or without values, to a depth, as an HTML table or as text, and why their output must never…
- By hand: help pages for your extension Put an extension's documentation into the admin help center: doc/ pages with front matter, shown while the extension is active (ExtensionDocDirs only for an inactive one), context help for its views, and checking with…
- Check the database schema Step by step - run the database consistency check on Setup > Upgrade check, read missing, changed and extra tables, download the SQL, and apply only what you understand, after a backup.
- Classes, attributes and objects How a content class defines a kind of content through its attributes, how objects are created from it, and how versions, translations and the version limit work.
- Color and contrast in your theme For designers who build or brand a public design - the contrast ratios WCAG 2.2 AA asks for, how admin4 keeps them with checked color tokens in light and dark mode, and how to apply the same discipline to your own theme…
- cond and first_set 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 object attributes reference Every attribute a template can read from a content object (eZContentObject) - the 12 database fields and the 65 function attributes of its definition, the PHP method behind each, and the value each returned for a real…
- Creating, publishing and changing content from PHP Create, update, move, hide and remove content the supported way - createAndPublishObject(), updateAndPublishObject() and the node operations - so workflows, caches and search stay in step.
- Database access and SQL Talk to the database safely and portably - eZDB, arrayQuery and query, escaping and casting, transactions, the six supported engines and what differs between them, and when to use eZPersistentObject instead.
- Events and listeners: ezpEvent The in-process event bus of Exponential compared with Symfony's EventDispatcher, Laravel events, Django signals and Spring application events - notify and filter events, registering listeners in site.ini, the events the…
- File uploads and SVG For public bodies whose staff upload images and documents - how Exponential stops uploaded files from running code (no execution below the root, type read from content, SVG sanitizer, downloads through…
- How the footer is built From the footer zone of the shared layout Header / Footer to pagelayout/footer.tpl and its three data sources - FooterMenuID, the site info object and the Footer links folder - with the real file paths.
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