SilverStripe 2.4 Module Extension, Themes, and Widgets: Beginner's Guide

More Information
  • Convert general HTML and CSS files into SilverStripe templates to create magnificent themes
  • Create and extend different page types, both in terms of look and functionality
  • Enable your content editor to efficiently interact with your system, for instance, adding new images to the image gallery
  • Store user input in the database or send it via e-mail
  • Translate your page and internationalize it – think about the various date formats, for instance
  • Implement common tasks, including search functionality, integration of Google Maps or Facebook, and much more
  • Set up a toolset for common tasks (search functionality, Google Maps, and Facebook)
  • Develop powerful server-side scripts while catering for security and performance

HTML, CSS, JavaScript, PHP, databases, frameworks, CMS, and many other fast-evolving technologies make up modern web-development. How can you effectively create stunning results without being limited by the ease of your tools? That's where SilverStripe CMS comes into play.

SilverStripe, with its simple and intuitive design, is easy to work with and offers numerous customization opportunities. But understanding the options available and getting hands-on with the development techniques is not a piece of cake and certainly not a delightful experience if you're relying on tutorials and documentation available online.

Silverstripe 2.4 Module Extension, Themes, and Widgets: Beginner's Guide takes you through designing catchy and flexible templates, adding powerful features effortlessly, integrating everything into an intuitive backend for easy administration in a simple way, and implementing nifty features with minimal effort. From the most basic to complex forms, from simple to sophisticated pages, you'll learn how to get the most out of your SilverStripe application. SilverStripe keeps everything nice and simple, but if you need to, you can extend and customize every part of it. Graphic examples illustrate the general principle of operation, gradually introducing the finer details needed to get professional results. Common requirements such as image galleries, site search, and more can be reused or extended to fulfill your needs.

The author's experience in designing and developing SilverStripe projects enables him to share insights on creating professional web applications in a clear and friendly way.

You will start off with creating your own templates – covering the general layout, while also taking search engine optimization into consideration. Next, you will look at the logic driving your web application, and the database. Using these basic concepts, you will start building more advanced features. These include the integration of Google Maps, Twitter and Facebook, image galleries, the handling of user-supplied information, your own full-text search, and more. Finally, you'll even translate and internationalize your project. All of this can be easily achieved with SilverStripe.

All of this and quite a bit more is covered by Silverstripe 2.4 Module Extension, Themes and Widgets: Beginner's Guide. Besides general principles, the focus is on reusable code – getting your project started in no time.

  • The first and only book that focuses on extending SilverStripe sites
  • Step-by-step instructions covering everything you need to know for getting started with making the most of the core functionality, developing modules, creating themes, and adding widgets
  • Build a fun, real-world example application without breaking a sweat
  • Reviewed by Sigurd Magnusson, co-founder of SilverStripe, and Ingo Schommer, development manager at SilverStripe
  • For more recent updates to the code, please visit the author's own repository at Updated Code Here
Page Count 368
Course Length 11 hours 2 minutes
ISBN 9781849515009
Date Of Publication 2 May 2011
Templates and themes
Time for action—change the default theme
Template engine
Taking a look at BlackCandy
Time for action—using site title and slogan
Page control overview
Model View Controller (MVC)
Structure of a Page
Using the Controller
Time for action—adding a print style
Time for action—reducing HTTP requests for CSS files
Time for action—add your own head tags
Time for action—adding custom JavaScript in the Controller
Time for action—removing JavaScript in the Controller
Coding conventions
Spam protecting e-mail addresses
URL variables and parameters
Adding an Intro page
Widget or short code?
Creating our own widget
Time for action—embracing Facebook
More widgets
Have a go hero—Twitter
Text parser
Time for action—doing it "right"
Partial caching
Time for action—caching
Creating our own short code
Time for action—how to find us
Enhancing the intro page
Time for action—adding the required modules
Time for action—extending the backend functionality
Building a contact form
Time for action—creating a basic contact form
Renting a table
Time for action—extending our form with abstraction
Searching our pages
Time for action—adding search functionality to our page
Customizing forms even further
Saving data to the database
Time for action—extending the member card form
Field types overview
Checking the e-mail address for uniqueness
Time for action—checking the e-mail's uniqueness with Ajax
Doing more with sessions
Time for action—using the session in forms
How to store members in the database
Globalization in general
Globalization in the CMS
Time for action—configuring the CMS for globalization
Globalization in the code
Time for action—globalizing the intro page
Time for action—translating the rent form
Time for action—translating the rent form's JavaScript
Getting the right content
Time for action—switching the locale
Where to go from here


Philipp Krenn

Philipp Krenn lives in Vienna, Austria and studies software engineering. Besides being a student, he also works as a freelance IT trainer and web developer (mostly using SilverStripe, but also some Drupal, CakePHP, and Smarty). Philipp started using SilverStripe in 2007 while he was one of the students at the Google Summer of Code improving the project. While kicking off the effort to support multiple databases (besides MySQL), he got a good insight into the inner workings of the project. Building on top of that, he became an expert in developing web applications with SilverStripe.