Blog

Gavin Pickin

August 02, 2016

Spread the word


Share your thoughts

In Luis Majanos last webinar, "Widgets, Modules, Themes Oh My" ( View Recording ), there was so much to say about Widgets and Modules, there was no time left for Themes. Since there was a lot of interest, we have extended our whole roadshow one more week, so you'll get this blog post, and 2 more this week, and the final webinar will be Friday August 5th ( 9am PST 11am Central), a Deep Dive on Themes. ContentBox 3 has a lot of updates regarding themes, we'll give you a taste below on what you'll learn about in the webinar.

Register Now

Since ContentBox is built on ColdBox, and ColdBox got a big update from 3.8 to 4.0, so did ContentBox. Layouts were only a small part of what we are now calling Themes. 

New Theme Descriptor - Theme.cfc

Themes now support Theme.cfc for describing your theme, and your settings. This will be backward compatible, this change will make it easier for tooling to tap into the Theme settings.

Theme Setting Groups

Themes are getting bigger, better, and more complex, and so are the theme settings. With this in mind, we introduced Setting Groups, so settings can be logically grouped together, to make it easier to manage your theme once it is installed on your website.

Theme Modules

Themes are build on top of ColdBox 4 modularity, and now Themes can include Modules. Themes today need to do so much more, so tap into modules and do not reinvent the wheel. You can ship your theme with as many modules as your theme needs.

Theme Events

Theme Settings are great for most options you might need to give users of your theme, but sometimes, you might want to have something special in the settings form, or maybe in the Theme Info page. You can control this now, by intercepting Theme Events. You can tie into the following theme 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

Theme Development Process

When developing a theme, we recommend using tools like Grunt, and Bower to streamline your workflow, and deliver only the required assets to your theme user. We have grunt and bower setup for our new themes built for ContentBox 3, and we'll show you how one of those work flows actually works, so you can get up and running in developing your own theme, utilizing all of the work flows needed, including copy assets, minifying, cache busting, Sass compilation, and anything else you may need.

Join Luis Majano on Friday, August 5th at 9am PST, 11am Central to see all of this, ask questions, and more.

Register Now

Add Your Comment

Recent Entries

MatchBox and WebAssembly: Running BoxLang in the Browser and at the Edge

MatchBox and WebAssembly: Running BoxLang in the Browser and at the Edge

The MatchBox open beta is live at https://boxlang.ortusbooks.com/boxlang-framework/matchbox, and it brings something genuinely new to the BoxLang ecosystem: a path into WebAssembly.

That means BoxLang code can now move into browser applications, static-site deployments, edge runtimes, and WASI-style containers - without requiring a JVM. The feature is still beta, but the core direction is already useful: write BoxLang, compile it with MatchBox, and ship the generated WASM artifact to wherever a small portable runtime makes sense.

Jacob Beers
Jacob Beers
June 04, 2026