Recent changes
35934 changed pages · Atom feed · Recent comments · Recently added · Recent ratings
Wednesday November 04 2026
- Template functions (Updated, Markdown page)
Markdown documentation (help center) · Extension development · Changed 01:08 pm
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. - Template operators (Updated, Markdown page)
Markdown documentation (help center) · Extension development · Changed 01:08 pm
Give templates new operators: the registration, the four methods the engine calls, named parameters and piped input, a complete verified example, testing, and the PHP 8 pitfalls. - Tests for extensions (Updated, Markdown page)
Markdown documentation (help center) · Extension development · Changed 01:08 pm
Tests that ship with an extension and need no database: phpunit.xml.dist and bootstrap, unit and file tests, the kernel's own suite, and the other checks before every commit. - Translations in an extension (Updated, Markdown page)
Markdown documentation (help center) · Extension development · Changed 01:08 pm
Every text in every language: i18n in templates and ezpI18n::tr() in PHP, translation.ts files, TranslationExtensions, the cache, fallbacks between locales, and coverage checks. - Triggers and workflows for developers (Updated, Markdown page)
Markdown documentation (help center) · Extension development · Changed 01:08 pm
How operations, triggers and workflows connect: operation definitions, making more operations triggerable, running an operation from PHP, and what happens to deferred processes. - Tutorials: build real extensions step by step (Updated, Markdown page)
Markdown documentation (help center) · Extension development · Changed 01:08 pm
Step-by-step tutorials that build real small extensions, first with the RAD wizards of Setup > RAD, then by hand, ending with a complete extension from idea to release. Every file shown was checked with php -l and run. - By hand: an ezjscore server function (Updated, Markdown page)
Markdown documentation (help center) · Extension development · Changed 01:08 pm
Answer an ajax call: ezjscServer settings, a server function class, a script that calls it with Exp.io and writes with textContent, a policy for it, and testing the address. - By hand: a cronjob part (Updated, Markdown page)
Markdown documentation (help center) · Extension development · Changed 01:08 pm
Add a nightly digest to mysite_hello - a CronjobPart class, the one-line script, a part of its own in cronjob.ini, running it with runcronjobs.php and scheduling it in the crontab. All PHP files passed php -l. - By hand: a rich text custom tag (Updated, Markdown page)
Markdown documentation (help center) · Extension development · Changed 01:08 pm
A custom tag for rich text: AvailableCustomTags, a custom attribute with an online editor control, and the ezxmltags template that renders it with $content, verified. - By hand: a datatype (Updated, Markdown page)
Markdown documentation (help center) · Extension development · Changed 01:08 pm
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. - By hand: a fetch function (Updated, Markdown page)
Markdown documentation (help center) · Extension development · Changed 01:08 pm
Give templates fetch( 'hello', 'newest', ... ): register a module folder, write function_definition.php and the collection class, and call it from a template, verified. - By hand: help pages for your extension (Updated, Markdown page)
Markdown documentation (help center) · Extension development · Changed 01:08 pm
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… - By hand: the smallest extension in five minutes (Updated, Markdown page)
Markdown documentation (help center) · Extension development · Changed 01:08 pm
Three files make a complete extension - ezinfo.php, extension.xml and one settings file. Create them, check them, switch the extension on, see it in Setup > Extensions and see its setting win, then put it under Git. - By hand: a module protected by a policy (Updated, Markdown page)
Markdown documentation (help center) · Extension development · Changed 01:08 pm
An admin page with a form: a policy with a limitation, POST actions, input validation, a limited access check in PHP and an admin4 template, checked with php -l and the engine. - By hand: a module with a view (Updated, Markdown page)
Markdown documentation (help center) · Extension development · Changed 01:08 pm
The page /hello/world/<name>: module.php with a policy, a view that validates its parameter and uses the fetch function, a template in the standard design, all verified. - By hand: your own table with eZPersistentObject (Updated, Markdown page)
Markdown documentation (help center) · Extension development · Changed 01:08 pm
A greetings table: an engine-neutral db_schema.dba, the SQL the kernel generates from it for three databases, installing it, the class, and using it from a page. - By hand: a PHPUnit test for your extension (Updated, Markdown page)
Markdown documentation (help center) · Extension development · Changed 01:08 pm
Tests that run without a database: phpunit.xml.dist, a bootstrap, operator tests and a file test against inline CSS and scripts, green on the kernel's PHPUnit. - By hand: a template operator (Updated, Markdown page)
Markdown documentation (help center) · Extension development · Changed 01:08 pm
Add two template operators to mysite_hello by hand - the plug, the registration and the class - check them with php -l, switch them on and use them, with the output the template engine produced. - By hand: translating an extension (Updated, Markdown page)
Markdown documentation (help center) · Extension development · Changed 01:08 pm
Translate an extension into German: collect the texts, write the translation.ts files, register them with TranslationExtensions, clear the cache and see the German texts. - By hand: a workflow event (Updated, Markdown page)
Markdown documentation (help center) · Extension development · Changed 01:08 pm
A workflow event type "Log publishing" by hand: the class, the registration, the view template, a workflow and a trigger, and the log line it writes.