Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Theme design: course overview

The course for designers and front-end developers who build themes for Exponential, 8 modules and 30 lessons, about 24 hours of lessons, from the design fallback chain through the pagelayout, overrides, the ezjscore…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/trainers/theme-designers/README.md

On this page

Theme design: course overview

Theme design is the course for people who change how Exponential looks. Learners start by reading how a page finds its templates, then build a theme extension of their own, training_theme, and take it all the way: its pagelayout and overrides, stylesheets and scripts through the packer, a block in the administration built to the admin4 styling rules, accessibility and right-to-left support, icons, metadata, an .ezpkg export, a Git repository with a composer.json, a license inventory and a first release in a local repository.

Who it is for

  • Designers and front-end developers who build or adapt themes for sites made with Exponential.
  • Developers who build administration pages for extensions and must follow the admin4 styling rules (modules 4 and 6 can be taught on their own to them).
  • Agencies preparing to publish or sell themes (modules 7 and 8).

Outcome

After the course, learners can read the design chain of any siteaccess and find the template behind any markup; create and switch on a theme extension; write a pagelayout, overrides and safe cache blocks; deliver stylesheets and scripts through the ezjscore packer and keep a theme ready for a Content Security Policy; build administration markup from the shared components and tokens that work in dark mode and forced colors; make and test an accessible, right-to-left-safe theme; ship icons; and package, license and release a theme without ever moving a published tag.

Format and length

Lessons30 lessons in 8 modules
Lesson time24 hours 15 minutes (presenting and exercises)
With breaksabout 25 hours 45 minutes, as in the modules' timing plans
FormatClassroom with a projector, or online with screen sharing; every learner at their own computer with a shell
Group sizeUp to about 10 learners per trainer: most exercises change files, and the trainer checks screens and sources
LevelBeginner to advanced, rising through the modules

Prerequisites

  • Learners: HTML and CSS; basic use of a shell and a text editor; Git basics for module 7. The template language is introduced where it is needed; the developers course (Developers, in this section of the help) teaches it in full.
  • Trainer: experience building a theme extension on the version they teach, and the train-the-trainer course or equivalent experience (Train the trainer: course overview).

Lab setup

  • One installation per learner, because learners create extensions, change settings and activate and deactivate extensions. Install each with php bin/php/console exp:install --apply (7. The console install) using a package with demo content, so folders, articles and images exist (Choosing the site package for a class). How to build, serve and reset a lab: Module 2: Building the training lab.
  • An administrator account per learner with setup/setup (for Setup > RAD) and uiswitch/design, its e-mail address at example.invalid. Never the shared administrator of a real site.
  • The administration siteaccess in admin4 (or admin4l) for modules 4 to 6.
  • On every learner computer: a current Chromium-based browser with developer tools, an axe-based accessibility checker, Git, xmllint, and if possible Composer.
  • For lesson 4.5, one development checkout with the development dependencies (vendor/bin/phpunit).
  • No real mail and no remote repositories: nothing in the course is published.

Modules

ModuleLessonsDurationTopics
Module 1: Designs and the fallback chain43 h 10 minDesign folders, the chain of a siteaccess, template path comments, site and administration designs
Module 2: Templates, overrides and the pagelayout44 h 5 minThe design extension wizard, the pagelayout, override.ini, cache blocks
Module 3: Stylesheets and scripts through the packer42 h 55 mindesign.ini lists, the ezjscore packer, the clear routine, Content Security Policy
Module 4: Styling the administration54 h 35 minThe styling rules, shared components, tokens and dark mode, forced colors, review and tests
Module 5: Accessibility and right to left43 h 40 minThe project's status, an accessible frame, testing, right to left
Module 6: Icons21 h 30 minIcon themes in an extension, admin4 icons
Module 7: Packaging a theme43 h 10 minMetadata, activation and loading order, .ezpkg and Composer, Git
Module 8: Licensing and releasing32 h 40 minLicenses, versions and permanent tags, changelog, release notes, checklists

Reading path

For a trainer preparing the course, in this order:

  1. Templates and design: change what a page looks like: the whole technical base in one guide.
  2. Designs, siteaccesses and the design fallback chain, The pagelayout, Template overrides for site builders and View cache and cache blocks.
  3. Stylesheets and scripts for your site and Content Security Policy.
  4. Styling the administration and The admin4 design: read the first one completely; modules 4 and 6 depend on it.
  5. Accessibility standards, Accessibility for site builders and Right-to-left languages in the administration.
  6. Icon themes in extensions.
  7. The designers' guides: Theme extensions: start here, Distributing a theme: start here and The life cycle of a theme.
  8. Then the modules in order: each module's overview first (its preparation list and timing plan), then its lessons. Build training_theme yourself once on a lab installation, exactly as the exercises describe.

Suggested schedules

Lesson times add up to 24 hours 15 minutes; the schedules add breaks and a short daily review.

Four full days

DayMorningAfternoon
1Module 1Module 2
2Module 3Module 4 (lessons 4.1 to 4.3)
3Lessons 4.4 and 4.5, Module 6Module 5
4Module 7Module 8, open questions

Module 6 comes before module 5 on day 3 because its exercises continue the dashboard block of module 4.

Eight half days (for example one a week)

Half dayModules
1Module 1
2Module 2
3Module 3
4Module 4, lessons 4.1 to 4.3
5Lessons 4.4 and 4.5, Module 6
6Module 5
7Module 7
8Module 8

Between half days, learners keep their installation and training_theme; every module builds on the last.

Two days for administration pages only

For developers who build admin pages for extensions: lessons 1.1, 1.4, 2.1, 3.1, 3.3, all of module 4, lesson 5.4 and module 6 (10 hours 30 minutes of lessons).

Assessing learners

  • Each lesson's quiz and expected result check understanding during the course; the peer review of lesson 4.5 and the checklists of lesson 8.3 are practical checks.
  • The finished training_theme is a natural final task: it should pass the review checklist of lesson 4.5 and the "theme extension is ready" checklist of lesson 8.3.
  • The Assessments course has further material. All assessments are the trainer's own assessment, not an official certification; the partner program's certifications are separate (Certifications).

Become an Exponential Partner

Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.

Something wrong on this page? Report an error

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