Templates and views#
Most of the public-facing content on your website will likely be rendered from template files that are defined in Silverstripe CMS. Either in the
core framework, the modules or themes you install, and your own custom templates.
Silverstripe CMS templates are simple text files that have an .ss
extension. They can contain any markup language (e.g HTML,
XML, JSON..) and can include features such as variables and logic controls such as conditionals.
In this section we'll look at the syntax of the default template engine and how to render templates from your controllers. Note that anything referencing SSViewer
should apply regardless of which template engine you use.
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 resources in your templates such as javascript and CSS files.
Rendering data to a template
Call and render Silverstripe CMS templates manually.
Template Inheritance
Override and extend module and core markup templates from your application code.
Themes
What makes up a Silverstripe CMS Theme. How to install one or write your own theme.
Caching
How template variables are cached.
Translations
Definition of the syntax for writing i18n compatible templates.
Formatting, Casting, and Escaping Variable Content
Information on casting, security, modifying data before it's displayed to the user and how to format data within the template.
Generating Unique Keys
Outputting unique keys in templates.
Partial Template Caching
Cache a section of a template Reduce rendering time with cached templates and understand the limitations of the ModelData object caching.
Swap Template Engines
Using a third-party template rendering engine with Silverstripe CMS
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.