SilverStripe comes with it's own templating engine. This guide walks you through the features of the template engine, how to create custom templates and ways to customise your data output.


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

Was this article helpful?