Question about Concrete CMS V9 Theme Development

Been playing around and digging through the atomik theme in V9 for a few hours and I have a few question and some comments.

  1. Atomik is built in SASS. Is there a build in SASS complier? (Odds are I will just add my own using Gulp or CodeKit)

  2. When creating templates for the new container feature, is this based on the bootstrap 12 column structure?

  3. How do you specify a container template in Concrete CMS and do they have to live in the containers folder with in the theme directory?

  4. Still have a hard time understanding the Bedrock feature and some good user cases for it? (I did look at the Video on it on concretecms.org)

  5. Do we have to register our assets in the page_theme.php or has that been deprecated?

  6. The new block menu is killing my eyes. The blue text on a white background it just hard to read after looking at it for sometime. The v8 dark background with with the flat icons might have been a better way to go.

I have a few more questions but I think I can answer them with some more digging around.

Thanks

Wayne

1 Like

Also trying to make sense of theme building in version 9 with Bedrock, looking at page_theme.php settings in Atomik and trying to build a theme using Bedrock to see how it all works.

There seem to be some fundamental blockers on this at the moment:

It would be great to have some basic instructions to get to a working theme build ASAP.

There are some great innovations in version 9 and a clearly defined, tightly integrated theme build process will deliver robust, better functioning websites for everyone if theme developers can get to grips with it.

1 Like

The essential workflow is the same, the problem is that we haven’t merged the latest Bedrock (which is found in the 9.0rc branch) into master yet because we have sites actively using the pre-release version 9 that are baked into Bootstrap 4. As we migrate those sites to the 9.0rc branch this month we will be merging everything back into concrete5:develop and bedrock:master and eliminating the 9.0rc branches, which will hopefully make everything make more sense.

Now on to answering the questions in this thread.

  1. Atomik is built in SASS. Is there a build in SASS complier? (Odds are I will just add my own using Gulp or CodeKit)

Yes, there is a built-in SASS compiler for theme customization. We don’t use this builtin PHP based SCSS Compiler for actually building pre-built skins, however, we rely on Laravel mix and running something like npm run prod .

  1. When creating templates for the new container feature, is this based on the bootstrap 12 column structure?

If your theme is built off Bedrock or specifically uses Bootstrap 5 it is. Otherwise it’s whatever markup you want it to be. Containers are just basically a way of creating reusable blocks of HTML that you can place in the page using the editing tools. These blocks of HTML have ContainerArea PHP code in them that make them editable through the CMS.

  1. How do you specify a container template in Concrete CMS and do they have to live in the containers folder with in the theme directory?

This should be pretty well answered by this video.

We’re also in the process of updating our documentation to include information about this.

  1. Still have a hard time understanding the Bedrock feature and some good user cases for it? (I did look at the Video on it on concretecms.org)

Well, in version 8 we basically pepper our code with Bootstrap code all over the place. Now we’re being more explicit about it, making it clear that if your blocks and themes implement this standard, it will be nicely reusable throughout different themes.

Think about an add-on developer developing a bunch of standalone containers that look cool. If they adopt Bedrock (which is basically just agreeing to our standards and markup and CSS) they know that their containers will look appropriate in any theme that also adopts bedrock. This is the same for image gallery add-ons, etc…

Bedrock also gives you a system for saying that you support frontend features, and if you support them we don’t have to load fallback JS/CSS for them. So if you say you support the “Calendar” feature in your theme, we won’t load a bunch of JS and CSS for that that you then have to override.

  1. Do we have to register our assets in the page_theme.php or has that been deprecated?

None of that’s been deprecated, but we have dramatically reduced the number of discreet assets the core registers.

  1. The new block menu is killing my eyes. The blue text on a white background it just hard to read after looking at it for sometime. The v8 dark background with with the flat icons might have been a better way to go.

Sorry to hear that. We got many complaints about legibility of the dark background as well. Designs may change…complaints stay the same. :man_shrugging:

2 Likes

Thanks so much for the clarification Andrew. This was very helpful. I will poke around more in v9 since it might be the basis for a rebranding effort I’m thinking about doing for Stewart Design Agency.

Thanks

Wayne

1 Like

Glad to hear it! Let me know if you have any more questions.

I just installed 9.0RC4 Atomik theme on my desktop in localhost. Looks great guys! I echo the preference for the old dark theme. First place I went to was Design and Customize theme css, but it wasn’t there! A tantalizing bit on the release notes says there is a new css theme customizer. Any hints on where it might be?
Thanks in advance, your support has been terrific during these frantic times!