Concrete5 Beginner’s Guide

Concrete5 Beginner's Guide No posts for quite some time on this blog! I don’t have a new tutorial at the moment, but I still have an explanation and something exciting to tell you!

Some of you guys sent me messages telling me that they wish I’d still be as active in the Concrete5 community as I was a while ago. I was really great to hear that, it’s always good to know that someone appreciates your work. However, truth is, I’m still quite active, just not so much in the forums – there’s a good reason or two for that!

First, I have been rather busy doing Oracle and ERP related work which has nothing to do with Concrete5 at all. However, I’ve been spending quite a few evenings, nights and weekends working on a huge tutorial about Concrete5, more like a “book”! I was contacted by Packt Publishing in June and stared writing shortly after that. I’m currently working on the drafts of the last chapters, I’ll then go through the reviews and after that the people are Packt are going to make sure that everything looks and reads smoothly. However, you can already get access to the first chapters because the book has been accepted as a RAW book, just have a look at You’ll get access to each chapter as it gets written in an unfinished state.

The book is aimed for people knowing web technologies like PHP, JavaScript, HTML and CSS but without Concrete5 experience. It starts rather easy, for some of you too easy I assume but different readers, different skills. It the continues with a custom theme and lots of custom templates for some Concrete5 core blocks. We then look at building blocks, packages and a simple dashboard extension which allows you to have a look and modify your files on the server. Making it easier (and a bit dangerous) to quickly modify your Concrete5 configuration or theme files if you’re out on business without having the FTP credentials with you.

I hope you like it! The final and printed book is expected to be available in April!

Writing a Book

A few words about my experience writing a book. First of all, I had quite a few doubts, especially since English is not exactly my first language. I knew that I could explain myself in English in a way most people understand what I’m trying to say but still.. The people at Packt convinced me that this is not going to be a problem, especially since you never write a book which gets printed without having someone else having a look at it.

After my first doubts, things started very quickly and have gotten a bit stressful from time to time. There’s a deadline for each chapter to assure that everyone involved in the project is able to do their part in time. Working on a book like I do isn’t a fulltime job, for most authors at Packt it’s an evening and weekend job. This makes it sometimes a bit hard to meet all the deadlines with the result that things can be a bit stressful, especially if some unexpected things happen, at work or in your personal life. Nonetheless, I think it’s absolutely worth the effort, the imagination of finding your own book in your postbox or your favorite bookstore is awesome and drives you to keep working on the book.

Having a tight deadline for every chapter can also be really helpful, especially if you’re a bit like me. Whatever I do, I’d like to spend as much time on it as possible to get the best result possible. It also doesn’t happen very often that I think something is perfect… No matter what I do, having a limited amount of time is beneficial. Whenver I wrote a tutorial I told someone that it’s going to be online the next day and it usually was. Being on time is rather important, probably a disease I’ve got due to the fact that I’m Swiss. It’s pretty much the same with the book, you start writing on a chapter and the closer you get to meet the deadline, the more stressful things are but you feel reliefed once you’ve sent the mail, even if you don’t think your work’s as good as it should be.

If you ever get the chance to write a book, make sure you like writing, make sure you have some time or be prepared to sleep less 😉 It’s a great experience!



It’s great to see there is C5 book coming along.

I like books and bought CMS MS one, but after ditching that (not-so) friendly community I’m going to buy this raw material. 😉


I’m surprised to hear that you’ve gotten the impression that the community isn’t friendly but thankful for your feedback! I intend to keep working on the things I started in the book in one way or another. Maybe a second book with more advanced and complete examples, and updated version or just some blog posts on this site..

If you find anything in the book you don’t like, but keep in mind that every reader is at a different level, drop me a message and I’ll do my best to come up with something!

> I’m surprised to hear that you’ve gotten the impression that the community isn’t friendly but thankful for your feedback!

The comment is made about CMS Made Simple community (which I left some months before this thread,50165.0.html). 🙂

>Maybe a second book with more advanced and complete examples

If you ask me, I’d like another book. 😉

> If you find anything in the book you don’t like…

I bought pre-order (ebook+paperback), but the site says there is nothing available for DL (yet) ?


Hi Remo,

I have been reading your blog and always found it very useful. I will definitely buy the book,




Bought the Raw version and the real thing.
Very good book for starting with C5. And to promote C5 to other collegue Webdesigners that still uses Joomla!.

I could use a good blog about navigation (complex) horizontal and vertical, dropdown and slide. Can find some information in the forum but that’s not so clear.

Thanks for the book.


Thanks René, there are some navigation in chapter 7 in case it’s already available on RAW!


Packt web site says: “9 Dashboard extensions JANUARY 2011”, but it seems it’s not available (yet) ?


I bought your book as an ebook. It is good in fact. I found the things I’m looking for in it.

Although it is not very hard to make, the external form part is missing. You didn’t include it in your whole book.

But it is very useful. Because it requires less coding due to a package. But it is flexible as a package.

As a web developer, forms are headaches for me especially big forms. I don’t want to create those kinds of forms using form tool. If i do it like that way, i have to create same big forms for many sites, and it creates the problem. So External forms seem to me as a gift inside concrete5.

I hope you think again to include those in the next versions of your book.

Thanks a lot for your feedback! You’ll realize that there are quite a few things I didn’t mention in the book. But that’s actually a great idea, I’ll try to write a tutorial about the external form block as I haven’t seen a lot of stuff in that area!

Hi Remo.

I bought this one as an e-book, and the book has given much deeper insight about concrete 5 which i wasn’t aware of as of date. I have been doing the Time for action as I go on reading.

Am unable to get the LightBox gallery excercise to work after following the step by step instructions, on clicking the skyline link, I just get prompted to download the jpg file that I added to the selected text.

I have removed all the js files other than jquery.lightbox-0.5.min.js as mentioned but still no results. Dunno where i am going wrong.

Hope you can point me in the right direction.

Hi Remo,

Thanks for your response I solved it by adding the class=”lightbox” to the anchor tag that the book suggests to create and it was working. I loved the book and I am confident that it has helped me quite alot in understanding concrete 5. Just one feedback , that some of the “Time for Action” are written taking only the advanced users in consideration like for example in case of the issue I was facing, the step to add is skipped cause of which alot of other beginner level user referring this book could get confused.

6. Enter a text like Skyline and select it.
7. Click on Add File in the toolbar on top of the text editor. Select the picture you want
to see when clicking on the link.
8. Update the content block and you should see a link called Skyline in it.
9. Click on the block and click on Custom Template. Select our template
called Lightbox.
10. Exit the edit mode and publish the changes immediately.
11. Click on the link and you’ll see the well-known lightbox efect in your concrete5 site for free.

Anyways, thanx again for this wonderful book, I look forward for a book explaining Concrete 5 with more advanced functionality if its a part of your plan.



Pritam, thanks for the detailed feedback! I’m sure there are still a lot of things I could improve. I did my best in the little time I had to write the book. Nothing is perfect but I’m happy to assist you if you have problems with the book. Just keep posting here!

I tried to order this book through the Packt site, but their shopping area must be having issues — it loads in twice, doesn’t put in the other book they’re offering as a “in detail special” — etc. sent them an e-mail.

I found you through the forum and this blog. In reading this, I’m now concerned this book is going to be way too technical for C5 beginners if steps are left out like the person above talked about. I know a HTML and I use Dreamweaver and CSS, but I’m not a techny code writer. What I’m looking for is a step by step on how to use Concrete5 as it seems to have an extremely steep learning curve based on my frustration with it and from all the many, many, many, many “help” requests in the forum, an awful lot of people are having difficulty with it. I wanted to use it because it looks like it will be easier for the person the websites are being designed for to edit on their own, but as far as ease in use when you’re trying to learn C5 to design a website, it’s not at all intuitive and it’s far more difficult than Joomla. Only reason I’m not using Joomla is because new version has glitches in installing templates and it’s also not end-user friendly for editing.

Do you have a book or know of any that actually give step-by-step on C5? The How-To’s in C5 aren’t all that helpful as you watch a video, the audio is scratchy and you can’t actually see what they’re doing. Also they don’t provide the written step by step in what they’re doing.

Appreciate the fact it’s opensource, but I agree the forum isn’t friendly and I’ve yet to receive any replys to my 3 questions I posted. It’s now been 3 days and no reply. I see others on the forum who have never had replys also.

If you write a really detailed beginner book and a detailed end-user book, my guess is it will be profitable for you. I’d buy it and also buy the end-user book for each person I design a website for.

Yes, you’re quite right, the book is technical. It’s aimed at developers without concrete5 knowledge, thus the title “beginner’s guide”. It’s certainly not meant for an end user without good HTML and CSS knowledge at all. I’ll have to look at code at one point if you want to create a bigger concrete5 site. I’m a bit surprised to hear that it’s difficult to use, yes, it’s not a WYSIWYG tool like Dreamweaver, it’s a framework to build web applications & sites with a CMS, but creating a site with concrete5 isn’t difficult at all.

No, there’s no book for end-users. There’s simply not much demand for that. You’re the second person who asks for an easier book while I’ve got many more requests for a more advanced book with even more complicated examples. I don’t plan to write something easier but check this page, you’ll find a PDF which is aimed more towards end users

I’m not a big fan of videos, usually not patient enough to watch them, but there are plenty of step by step tutorials. One on this blog or these two

I can’t see any problems with them? As long as you can read the HTML code you create, you can easily convert them into concrete5 theme!

Hi Remo,
I am actually having the same problem as Pritam. I cannot get the lightbox piece or the slideshow working in Chapter 6. I tried adding the clas sof “lightbox” to the anchor tag, but still is my code in view.php

canRead()) {

$fileName = $f->getFileName();
$picturePath = $f->getRelativePath();
$thumbnail = $f->getThumbnail(2);

echo “{$thumbnail}“;

Any suggestion?
This book is wonderful!
Thank you,

Hello Remo,

> Yes, you’re quite right, the book is technical. It’s aimed at developers without concrete5 knowledge, thus the title “beginner’s guide”.

After lot of thinking I’ve decided to stay with Concrete5, at least for some more time until web2py gets some decent CMS. 🙂

In the meantime, I’d like to learn more about C5 development in order to be able to write some stuff by my own.

I have your book and the more I consult it – it looks better. 😉

Still, as I wrote in my original (Amazon) review, I’d like to see more ‘why’ than ‘how’, iow. to get a bigger picture of C5’s underlying framework or developing technology.

Can you give some useful hint how to proceed along with your book?

How much is actually required to know and/or what has to be mastered in order to write decent quality add-ons for C5?

I bet one does not need about the core, but, as you may know, C5 official docs’ organization is not the best. 🙂


Hi Gour,

you’re right, there’s not that much “why” but that would take a lot more pages to write. It was my and the publishers decision to focus on the examples.

In my opinion, the “why” isn’t that difficult.

1. you have to have an understanding of web technologies, HTML, CSS, JavaScript (jQuery highly recommended) as well as a bit of MySQL.

2. You must understand why MVC has been invented. There’s a short introduction in the book but if you’re not familiar with it, you should read more about it. Once you understand the concept, I recommend reading this and it subpages

3. After that you should get an overview of helpers and classes in concrete5. I’ve seen a few add-ons where people access the core tables directly. What happens if the core changes? Take the time to look through the classes and helpers, takes less time than one might think. There’s a lot of discover about that on, start here,

4. Once you understand the theory behind it I recommend to look at one block more detailled. Try to understand every bit of it, what does addHeaderItem, you’ll easily understand why if you know exactly what it does. Does really matter which one you pick, just make sure it’s not hello world and not too big/complicated either. This should work for example:

But as always, this isn’t a recipe which works for everyone. Personally, I like to learn with examples. When I started working with concrete5, there was pretty much no information. Got an example from Andrew and looked at every file of it until I understand the use of every detail. Made a copy and modified a few things and then added a few more things etc. etc.


> you’re right, there’s not that much “why” but that would take a lot more pages to write.

Indeed. 🙂

> 1. you have to have an understanding of web technologies, HTML, CSS, JavaScript (jQuery highly recommended) as well as a bit of MySQL.

Any recommendation for JS book? I have ‘Good Parts’, but maybe not the best one, or is it enough?

> 2. You must understand why MVC has been invented. There’s a short introduction in the book but if you’re not familiar with it, you should read more about it.

I believe I understand advantages of MVC and the roles of each one.

> Once you understand the concept, I recommend reading this and it subpages

Thank you.

3. After that you should get an overview of helpers and classes in concrete5.

Very useful tip. Thanks.

> 4. Once you understand the theory behind it I recommend to look at one block more detailed.

Wow…now you’re really trying to make me busy. 😉

Thank you very much for detailed answer!


Hi Gour,
I’m afraid but I don’t think I can give you any recommendations about a JavaScript / jQuery book. I own a lot of books about psychology, discounted cash flow and a lot of other topics but only one about programming..
It took me a while to get used to the structure of’s documentation but once I got used to it I was able to get everything I need from their site.

Sali Remo

Ha nor mol welle Grüezi säge ond der uf dem Wäg no einisch för dis Buech gratuliere :-)… schriibe jetzt ned uf Änglisch – höhö


Hallo Remo:

I bought your book, which I really like, the explanations are very well written. However when I installed the latest C5 version, with all the new updates it was almost impossible to follow the instructions in the book. Is there an update to the current publication available?
With the help from the C5 community I got my XAMPPLite up and running. An acquaintance with C5 experience helped me with the site I was building, it worked great on my end. After I uploaded it to the hosting companies site (Bluehost), all I get is a blank screen and the one on my computer at home doesn’t work anymore either, who knows what mystery happened there…
I love the tool but I absolutely hate the dance one has to do to get it to work as it should. I believe the reason that is, is due to the fact that I don’t know much about anything that happens on server side, and it is intimidating! You made php code look less overwhelming in your book, which I can appreciate. Is there a book that you can recommend out there that would explain to a client-side developer what actually happens on server side and what it needs to understand the files coming from client side?

Herzlichen Dank für alle Deine guten Ratschläge und Tips, auch für die im C5-Forum!

Liebe Grüße aus Chicago,

Hi Barbara,

thanks for your feedback!

I’m not sure this has to do with the latest c5 version. There certainly are a few changes in the core but at the end, most stuff related to the deployment should work more or less the same.
There were a few changes in XAMPP but I think there should be an errata for that in the book?

I’m afraid I can’t really recommend any books about the server side stuff. I’ve got a huge collection of books, but only two IT books, the English and the French concrete5 book 😉
But even if I could recommend a book, it might be difficult to learn these things from one book because there are a ton of different configurations which can change a lot. Apache with mod_php or fast cgi or suPHP, PHP with safe mode.

In most situations when you get a blank screen, this is because of a PHP error which you simply don’t see in the browser because PHP is set up to write them into the error log only. This makes sense because error messages can sometimes reveal information you don’t want to share with other people. First, I’d recommend to see if you can get access to an error log, probably the Apache error log.

Let me know if you find more hints which could help me to help you 😉

Hi I am new to Concrete5, and wondered if your book is still relevent to the current version 5.5.1?

What version was the book based on, and how much has changed… if a lot, are there any plans for an updated version?


Hey Gill, the book has been written using the previous version 5.4 but there hasn’t changed much. There’s one example which needs an additional line but so far I’m not aware of anything big which doesn’t work. If you find anything that doesn’t work, send me the code and I’ll see why it’s not working anymore and send you an updated version back. Can’t promise to do that within one hour but I’ll look into any problems happening due to changes in concrete5. At the moment there are no plans for an updated version, the niche is still pretty small!

Hi Remo,

I have bought your book and followed it strictly but I can’t the C5 properly installed on my host. It is justhost and they are saying that they cannot help, they know nothing about C5. SimpleScripts installs without a problem but when I go my site and login there is one empty page, not the default theme plain yogurt with 4 pages!.. I made a comparison if there are an different or missing file from the installation list you gave in your book and could not find anything wrong..

You are very welcome to visit my page – just installed again – and see it for yourself. If you can come up with any idea please contact me with my e-mail so that I can give you any more specific info.. is the web site..

Thanks a lot for your help in advance..


Hi Lili,

there are too many hostings and most of them are a bit different in one way or another. I wish there were less differences but that’s just a dream (:

I can’t tell you why my instructions didn’t work for you without having access to the error log or something which tells me a bit more about the details.

I also don’t use SimpleScripts but I’m not sure if there’s anything wrong with it. Since version 5.5 concrete5 has the option to install an empty site or a site with some example content. I’d assume that your SimpleScripts installation installed the empty site. There’s nothing wrong with that, you just don’t have any content but that can easily be changed. Just navigate to the sitemap and start adding some pages..
Maybe there’s an option when installing with SimpleScripts allowing you to add the example content as well?


Thanks Remo,

it looks all works but only 1 empty page has come with the installation. Maybe that’s best because actually I did not like any of the default templates, so it is easier to make my own with an empty page template..

There is nothing in the installation script to choose with or without default template by the way, it only asks the user name & password for the DB access and installs without reporting any problems.

I’ll follow your book to build my own template and pages, so it’s very likely that you’ll hear from me if I cannot find my answers in the community pages:)

Thanks & Best,


Yes, this sounds about right. I don’t think there’s anything wrong, you just miss the example content… Can’t promise to answer very quickly but I’ll do my best to help where I can!

Leave a Reply

Your email address will not be published. Required fields are marked *