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.
Requirements
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.
Themes
What makes up a SilverStripe Theme. How to install one or write your own theme.
Caching
Reduce rendering time with cached templates and understand the limitations of the ViewableData object caching.
Translations
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.