# Themes

We have also updated the theming engine in ContentBox with ColdBox 4 goodness and extreme modularity. Here you can find the major updates for the theming engine.

## Themes not Layouts

Themes is our new mantra. We have transitioned layouts to what we now call ContentBox Themes. They have been revamped to support ColdBox 4.

![](/files/-LA-Un1S1Amw33boCUYA)

## New Theme.cfc

The theme descriptor CFC is now named `Theme.cfc`. Backwards compatibility still remains, but now the new descriptor will provide a nice way for editors and tools to target.

![](/files/-LA-Un1XRNuy7cOG72HI)

## Theme Setting Groups

You can now create theme setting groups in the theme descriptor `Theme.cfc` and the new admin UI will present them in a categorized and ordered format. This is a great way to visualize theme settings.

![](/files/-LA-Un1bAcNIq-HqxP42)

## Theme Modules

Themes can now include ContentBox modules in a new folder convention called `modules`. This allows you to ship your theme with 1 or a billion modules.

![](/files/-LA-Un1hjPcLzh_n5kPY)

## New Theme Events

The theme life-cycle now presents several new events:

* `cbadmin_preThemeSettingsSave` - Before saving theme settings
* `cbadmin_postThemeSettingsSave` - After saving theme settings
* `cbadmin_onThemeSettings` - When displaying theme settings in the admin UI
* `cbadmin_onThemeInfo` - When displaying theme information on the admin UI


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://contentbox.ortusbooks.com/v3.x/intro/introduction/whats-new-with-3.0.0/themes.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
