Book Image

Creating Concrete5 Themes

Book Image

Creating Concrete5 Themes

Overview of this book

Creating a concrete5 theme isn't complicated if there’s already a HTML document. There are only very few PHP functions you’ll have to add, but those are powerful and give you a lot of freedom. As you’ll learn to create mobile ready themes, you’ll start to see that there’s almost no limit in what you can do."Creating Concrete5 Themes" is a practical, hands-on guide that provides you with a number of examples that will teach you how to create powerful concrete5 themes, change the look of content block elements, and even make your site ready for mobile devices."Creating Concrete5 Themes" starts with a few words about the editing concept and architecture of concrete5 and then continues with the creation of a basic theme which gets extended with more and more elements until the theme is mobile ready.You will learn where to find the information necessary to get your own concrete5 site and then get a quick introduction to understand the idea of the in-site editing concept. We’ll then create a theme which is extended with features and more details as we progress. You’ll also see some examples to show you the process of overriding elements from the core without losing the ability to upgrade concrete5 in the future. Once we’ve customized every element in concrete5 to build a complete theme, we’ll have a look at responsive techniques to make your site ready for small screen devices such as mobile phones and tablets.  
Table of Contents (13 chapters)
Creating concrete5 Themes
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
Index

The distinction of Model-View-Controller (MVC)


When working with concrete5 blocks and single pages, you'll come in contact with a pattern called MVC. It's short for Model-View-Controller and is one of the most-used patterns in software design.

It tries to make sure that the code stays clean, has a structure which is easy to understand, and keeps the application stable. It achieves this by splitting the code into different parts. Let's have a look at the following diagram:

We've added two elements, Browser and MySQL Database, which don't belong to the actual pattern. They are just included to make it easier for you to understand how this pattern works. You can see that if you request a page, it will be forwarded to Controller. The validation of the data should be a part of Model, and View contains the actual output template. Controller knows how to handle all of these parts. It's the element that connects most of the things.

If there is any persistent data involved, you'll quite likely have...