Version 3 end of life
This version of Silverstripe CMS will not recieve any additional bug fixes or documentation updates. Go to documentation for the most recent stable version.

Most of what will be public on your website comes from template files that are defined in SilverStripe. Either in the core framework, the modules or themes you install, and your own custom templates.

SilverStripe templates are simple text files that have .ss extension. They can contain any markup language (e.g HTML, XML, JSON..) and are processed to add features such as $Var to output variables and logic controls like <% if $Var %>. In this guide we'll look at the syntax of the custom template engine SSViewer and how to render templates from your controllers.

Template Syntax
A look at the operations, variables and language controls you can use within templates.
Common Variables
Some of the common variables and methods your templates can use, including Menu, SiteConfig, and more.
How to include and require other assets in your templates such as javascript and CSS files.
Rendering data to a template
Call and render SilverStripe templates manually.
Template Inheritance
Override and extend module and core markup templates from your application code.
What makes up a SilverStripe Theme. How to install one or write your own theme.
Reduce rendering time with cached templates and understand the limitations of the ViewableData object caching.
Definition of the syntax for writing i18n compatible templates.
Formatting, Modifying and Casting Variables
Information on casting, security, modifying data before it's displayed to the user and how to format data within the template.

How to's

How to Create a Navigation Menu
Build a multi-tiered navigation UI.
How to Create a Paginated List
Break up the result of a database query into multiple pages
Disable Anchor Rewriting
Get more control over how hash links are rendered.