For all but the simplest of sites, you’re going to need to create a custom theme. This is pretty much a foregone conclusion, and it’s the purpose of this book. Let’s plan out how our custom theme will work.
We’re going to name our theme “Dreamrs”, and give it the theme handle
dreamrs_theme. In Concrete CMS, themes have a user-friendly name, which can be any string of characters that gets displayed to editors, and a handle, which is a string of lowercase letters, with underscores used as separators between words. Any time something refers to a handle, you can safely assume these rules apply.
Theme Name: Dreamrs
We’ll set some additional options in our theme later in order to unlock certain cool Concrete features like grid framework and layout preset support. But for now, this is all we need to move on to the next step.
Before we get started defining page types and templates, let’s take a quick look at some of the ways these components are the same across all pages. When building Concrete themes, it’s usually pretty instructive to look at the top of the page, and look at the bottom of the page: most websites utilize a shared header and footer across all pages. Let’s figure out where those shared elements begin and end, and plan how they’ll be included in our theme.
Look at all the components in the screenshot below. A quick glance shows that, while the content changes between each view, the header and the footer are always the same:
Let’s plan to make these components into reusable header and footer elements, and include them through code on every page template in our Dreamrs theme.