Which themes directory is correct?

I first installed my custom theme in the first level "themes" directory and got it working ... almost.

When my thumbnail didn't appear and other anomalies showed up along the way, I wondered if I was supposed to put the theme in the /concrete/themes/ folder instead. I couldn't find anything in the documentation to clarify this for newcomers. So I relocated the custom theme to the concrete/themes/ folder along with the built-in themes. Now I couldn't get any satisfaction at all. The theme was unrecognized and ignored.

I then removed the theme from among the others and reloaded it to the original /themes/ location. Still I have no thumbnail, even though it's clearly in there. Likewise, I'm trying to install ProBlog, and that's really not going beyond first base either.

One message that I got was that I need to have a view.php file. I've since created that, although I'm unsure that I've made it correctly. I've placed that into my custom theme folder, but now I have an error message that says it should over be in the /concrete/themes theme folder. Is that right?

Even though there are plenty of enticements for Concrete5, the "quick and simple CMS", I'm not convinced yet. Any help on this is very much appreciated.

View Replies:
Blenderite replied on at Permalink Reply
I put all my themes into the packages folder. Then it appears in the Extend Concrete5 interface and then you can click install and it is then ready to be activated. This may not work since this is a custom theme, but it may be worth a try.
guswah replied on at Permalink Reply
Worth a try, but which of the packages folders? Again, there's one in the root and another within the /concrete/ folder.
MysteriousCleon replied on at Permalink Reply
If it's theme made by you (not from the Marketplace) it should be like this in the main directory (not "concrete/" one):

If it's package from Marketplace the directory looks like this:


One more thing - don't change or add anything in concrete/ directory. It would be overwritten when you'll upgrade c5. For your use is the root directory. Even if you want to modify some standard, built-in blocks (like i.e. auto-nav), then simply copy this block from concrete/blocks to root blocks/ directory and than edit it there. It will work, and you won't loose the edits during c5 upgrade. This is why we have the same folder structure in root and concrete/ folders.
guswah replied on at Permalink Reply
Thank you, MysteriousCleon. Okay, so my directory will now be the main directory. In there I currently have four files, default.php, description.txt, thumb.png, and the recently-added view.php. But according to you, there should also be a elements/header.php?

If only there was documentation to explain all of this, I probably wouldn't be troubling you. Thanks if you can help again.
MysteriousCleon replied on at Permalink Reply
Ok, so one thing is sorted - thumbnail wasn't showing properly because it has wrong name - it should be thumbnail.png. :)

Usually developers put header and footer of the page to elements/header.php (& footer.php) because it's the same for all page types - then they simply include that documents do default.php, view.php, and all other page types (i.e. left_sidebar.php, full.php, two_column.php etc.) - this is not necessary, but is good practice. Especially when you have multiple page types.

default.php, view.php, description.txt and thumbnail.png are enough for theme to work.

And some links for you:
and maybe, but i'm not sure:

Adreco replied on at Permalink Reply
For anyone entertaining the idea of making their own themes, Remo Laubacher's book "Creating Concrete5 Themes" is hugely helpful. It will help your understanding of how concrete works even if you don't intend to make themes. Packt publishing is where I bought my copy.


Arvixe Web Hosting / concrete5 Community Liaison |
Looking for quality concrete5 Web Hosting? Look no further than Arvixe Web Hosting!