concrete5 Beginner's Guide

More Information
  • Navigate your way around the toolbar and dashboard in order to edit your site
  • Install add-ons and themes to make your site aesthetically pleasing
  • Customize the layout of your site to enable your users to find what they need quickly
  • Use Concrete5 blocks to add pictures.
  • Extend the dashboard to add functionality to your blocks
  • Deploy your site to the server

Concrete5 is a content management system for PHP developers. It can be used to build a range of sites and is particularly optimized for creating marketing websites.

The Concrete5 Beginner's Guide will show you how to get up and running with Concrete5 as quickly and painlessly as possible. Taking you from installation to deployment, this is the only reference that you will need for creating your new Concrete5 site.

By using a number of real-world examples, as well as taking you through the set up of a sample site, this book will enable you to become familiar with all of Concrete5's features. Use add-ons, themes, and blocks to give your site the look-and-feel that you desire. Simple PHP will enable you to customize the layout and navigation options of your site, as well extend the dashboard giving you a fully functional, professional site in no time.

  • Follow the creation of a sample site, through the installation, configuration, and deployment of a Concrete5 site
  • Use themes and add-ons to create a personalized site
  • Ideal introduction to using the Concrete5 CMS
  • Part of Packt's Beginner's Guide series – lots of practical examples, screenshots, and less of the waffle
Page Count 320
Course Length 9 hours 36 minutes
ISBN 9781849514286
Date Of Publication 18 Mar 2011
Preparing for installation
XAMPP installation
Time for action – installing XAMPP
Downloading concrete5
Time for action – downloading the latest version
Creating an empty SQL database
Time for action – creating an empty SQL database
Installing concrete5
Time for action – installing concrete5
Time for action – enabling pretty URLs
Getting familiar with concrete5
Time for action – logging in to concrete5
Adding new blocks
Time for action – adding new blocks
Time for action – editing existing blocks
Time for action – exiting edit mode
The dashboard
Adding more pages
Time for action – adding pages to create a news section
Time for action – adding blocks to new page
Page defaults
Time for action – adding default blocks to a page type
Page commands
Time for action – moving and sorting your pages
Splitting content into columns
Time for action – creating a multi-column layout
Time for action – putting your addresses in a scrapbook
Design and CSS
Time for action – styling your blocks
Basic permissions
Time for action – adding groups
Time for action – adding users
Time for action – assigning sitemap permissions
Time for action – granting file manager permissions
Time for action – creating a protected website
Time for action – setting task permissions
Time for action – granting partial dashboard access
Advanced permission mode
Time for action – activating the advanced permission mode
Time for action – setting time based page visibility
Time for action – setting sub-page permissions
Time for action – using block permissions
Time for action – restricting allowed blocks for an area
What's an add-on?
Time for action – installing an add-on
Time for action – removing an add-on
Time for action – manually installing an add-on
The new layout
Converting HTML and CSS to a concrete5 theme
Time for action – creating the concrete5 theme header
Time for action – creating the concrete5 theme footer
Time for action – creating a page template
Time for action – creating more page templates
Installing your theme
Time for action – installing theme
PHP constants and functions
Time for action – getting a list of available constants
Time for action – list all available functions
Time for action – checking for edit mode
Time for action – hiding content from anonymous visitors
Time for action – restricting numbers of blocks per area
Time for action – inserting block wrapper in area
Working with page attributes
Time for action – using attributes to set background picture
Time for action – accessing attribute data from a template
Block in templates
Time for action – replacing header area with template block
Time for action – finding autonav block properties
Time for action – specifying block template in area
Applying theme to single page
Time for action – creating single page layout
Time for action – adding variables to handle login errors
Creating a customizable theme
Time for action – a creating customizable theme
Custom templates to modify block layout
Thumbnails in a page list
Time for action – adding thumbnails to a page list
Time for action – restricting thumbnail dimension
Time for action – restricting thumbnails to a custom dimension
Template folder
Time for action – creating a template folder
Picture pop-ups in content block
Time for action – building a lightbox gallery
Gravatar picture in guestbook
Time for action – adding a Gravatar picture to the guestbook
Avoiding duplicate code in a custom template
Time for action – including an existing template
Auto-hide news page list
Time for action – creating an auto-hide page list
Transforming a slideshow into a gallery
Time for action – creating a gallery template for a slideshow
Time for action – adding a slideshow gallery
Slideshow using file attributes
Time for action – adding file attributes to our slideshow
Time for action – using file attributes in the gallery
Advanced tooltip in content block
Time for action – creating advanced tooltips
Autonav introduction
Time for action – undoing autonav block integration
Images in the navigation
Time for action – creating page attributes for navigation pictures
Time for action – creating block picture navigation template
CSS3 hover effect
Time for action – creating a CSS3 transition autonav template
Drop-down navigation
Time for action – creating SooperFish template
Hierarchical tree navigation
Time for action – building a file explorer-like navigation
Dynamically loading content
Time for action – dynamically loading concret5 content using jQuery
Time for action – direct link with dynamic content
Product information block
Time for action – creating the database structure
Time for action – creating the block controller
Time for action – creating the editing interface
Time for action – printing block output
Time for action – adding check for mandatory fields
Time for action – adding product categories
Product list
Time for action – handling multiple block versions
Time for action – creating the product list block
Picture magnifier
Time for action – creating the picture magnifier block
PDF generation block
Time for action – creating the PDF generation block
FTP gallery
Time for action – creating the FTP based picture gallery
What's a package?
Time for action – creating the package controller
Moving templates into package
Moving themes and blocks into the package
Time for action – moving jQZoom block into the package
Time for action – moving the PDF block into the package
Hooking into core events
Maintenance tasks and jobs
Time for action – execute concrete5 jobs periodically
Time for action – creating a job to check for broken links
Injecting header items
Time for action – creating global tooltips
Time for action – integrating CSS fix in the package
MVC—model view controller
Broken link interface
Time for action – creating the broken links dashboard extension
Time for action – creating package model
Time for action – adding a second controller method
File editor embedded in the dashboard
Time for action – creating the file editor add-on
Time for action – disabling pretty URL and cache
Time for action – transferring a MySQL database
Time for action – transferring files to the server
Time for action – updating the configuration file
Time for action – setting file permissions
Time for action – installing a translation file
Time for action – getting PHP information


Remo Laubacher

Remo Laubacher grew up in Central Switzerland in a small village surrounded by mountains and natural beauty. He started working with computers a long time ago and then, after various computer-related projects, focused on ERP and Oracle development. After completing his BSc in Business Administration, Remo became a partner at Ortic, his ERP and Oracle business, as well as a partner at Mesch web consulting and design GmbH. At Mesch—where he's responsible for all development-related topics—he discovered concrete5 as the perfect tool for their web-related projects and has since become a key member of the concrete5 community. You can find his latest publications on

He has also authored concrete5 Beginner's Guide and Creating concrete5 Themes.