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

A theme with the RAD wizard

Start a theme with the Design extension wizard of Setup > RAD and grow its skeleton into a real theme - siteaccess, frontend lists, base design, page parts, view templates - with three corrections.

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/extension-development/part-6-theme-developers/a-theme-with-the-rad-wizard.md

On this page

A theme with the RAD wizard

Part 6, chapter 3. The quickest way to start a theme is the Design extension wizard in the administration (Setup > RAD, address /setup/designextension). It writes a complete, working skeleton in a minute. This chapter uses it as a starting point and then shows how to grow the skeleton into a theme. The wizard itself, field by field, is the tutorial With RAD: a design extension; the flow all wizards share is in The RAD tools tour.

1. Fill in the wizard

FieldFor a theme
Extension namethe theme's machine name, lower case: mytheme
Titlethe readable name: My theme
Base designthe design your theme falls back to for every template it does not have: usually base or standard
What goes in itkeep the defaults (page layout, page parts, stylesheets, JavaScript, images, template overrides, ezinfo.php); tick Siteaccess settings and enter your public siteaccess
Licensethe license you will publish under; GPL-2.0-or-later matches the kernel

Look at the preview of every file, then Create in extension/ (or Download as zip if the web server may not write there).

2. Three corrections

The generated files work, but three things are worth changing at once. All three were found while writing this book by generating a design extension and reading every file:

  1. The siteaccess must name the design. The generated README says the design is found without further settings. It is registered (DesignExtensions[]), but a siteaccess uses it only when its site.ini [DesignSettings] names it. Ticking Siteaccess settings writes that file for you; otherwise set it yourself (Themes and siteaccesses).
  2. Use the frontend lists. The generated design.ini.append.php registers the files in CSSFileList[] and JavaScriptList[], which the kernel marks as deprecated. Change them to FrontendCSSFileList[] and FrontendJavaScriptList[]; the generated pagelayout loads both.
  3. Activate the extension. The wizard tells you the line; until you add it, nothing happens.
./console exp:ini add 'site.ini/ExtensionSettings/ActiveExtensions[]' mytheme global
php bin/php/ezcache.php --clear-all

3. From skeleton to theme

The skeleton has a pagelayout, a header, a footer, one stylesheet, one script and one override (articles in full view). A theme needs more. Work in this order, checking the site after each step:

StepFilesHelp
The frametemplates/pagelayout.tpl, page_head.tpl, page_header.tpl, page_footer.tplTemplates for builders
Navigationa menu template in templates/parts/, included from the headerFetch for builders
Full views of your classesoverride/templates/full/<class>.tpl plus a rule eachTemplate overrides
Listsoverride/templates/line/<class>.tplView modes for builders
Embedded objectsoverride/templates/embed/<class>.tplthe same
Forms and user pagescopies of the kernel's user/ and content/ templates you want to changeThe design chain
Stylesstylesheets/site.css, split into files when it growsTheme assets, the packer and CSP

Copy a kernel template into your design only when you change it. Every copied template is one you have to compare with the kernel's after each upgrade.

4. Commit as you go

Put the theme into Git right after the wizard wrote it, before your first change. Then each step above is a commit, and you can always see what the wizard wrote and what you changed.

cd extension/mytheme
git init
git add -A
git commit -m "Added: The theme skeleton written by the design extension wizard"

What can go wrong

SymptomCauseFix
The site looks unchangedthe siteaccess does not name the design, or the extension is not activechapter Themes and siteaccesses
A new template is not usedthe template override cachephp bin/php/ezcache.php --clear-id=template,template-override
The stylesheet is missingit is in a deprecated list the pagelayout does not read, or the packer cache is oldcheck the list names; clear the caches
The page is empty below the headeran error in a templateturn on the debug output and template debugging (Debugging templates)

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