Parent-Child Themes

Parent-Child Themes

CMS

A few times now we've been asked to build a Site Theme, then make just a few changes to the branding or color palette for a sub-ministry.

There are a number of ways to approach this idea, and probably the equivalent caveats with each.

The first and fastest approach is to simply clone the Theme and make the adjustments to the new Theme. However, over time, it gets harder and harder to keep each of those "sibling" themes in sync with updates, bug fixes or new features.

Another approach we've used is to create a simple Page Attribute with a "brand color" setting, which overrides the Theme color. This keeps us with just a single Theme to maintain, but that attribute appears on every Page of the site, while only being used on the sub-ministry pages that require the override. It's also clunky if there are more than just a few values that need to be customized and overwritten with the Attributes.

What I really wanted was a "master" theme that holds all of the Styles and Assets, then a "child" theme that references that parent for everything except the pieces needing to be customized. Specifically, the /Styles/_variable-overrides.less and /Styles/_css-overrides.less values could be specified in the Rock compiler, generating theme-specific files for each. This feels similar to how you'd build a Child Theme in Wordpress.

However, as I went about implementing that approach, I found that every Site in Rock needs a few literal files to function - Site.Master, every Layout file being used, and at least /Styles/_variables.less need to be literal files in the Theme folder.

So at this point, I'm still keeping all my Lava templates and script assets in my Master Theme, and referencing them using "~/Themes/Master/..." notation instead of the more convenient "~~/..." -- we'll see how it goes. I'd love to hear more thoughts or stories about approaches to this issue.

Photo of Ben GoshowSubmitted by Ben Goshow, Fishhook  ·   ·  CMS
Login to add a comment...

Submission Success Tips

Cultivate your ideas for maximum impact with these helpful submission tips that will increase the chances of your brilliant concepts becoming reality.

  • Clear Title: Craft a straightforward and descriptive title that instantly conveys the essence of your idea.
  • Concise Description: Provide an idea description that is succinct, ensuring it effectively communicates the concept without unnecessary verbosity.
  • Provide Additional Details: With a concise description complete, now provide any other details that are needed to better understand the requirements.
  • Thorough Ministry Need Review: Provide a comprehensive overview of the ministry need your idea addresses, emphasizing its significance.
  • Cover the WHY: Clearly articulate the rationale behind your idea, explaining why it's essential and how it aligns with the organization's goals and mission. Oftentimes a clear "why" sheds light into other possible options.