title: Rendering data to a template summary: Call and render SilverStripe templates manually. # Rendering data to a template Templates do nothing on their own. Rather, they are used to render a particular object. All of the `<% if %>`, `<% loop %>` and other variables are methods or parameters that are called on the current object in [scope](syntax#scope). All that is necessary is that the object is an instance of [api:ViewableData] (or one of its subclasses). The following will render the given data into a template. Given the template: **mysite/templates/Coach_Message.ss** :::ss $Name is the $Role on our team. Our application code can render into that view using `renderWith`. This method is called on the [api:ViewableData] instance with a template name or an array of templates to render. **mysite/code/Page.php** :::php $arrayData = new ArrayData(array( 'Name' => 'John', 'Role' => 'Head Coach' )); echo $arrayData->renderWith('Coach_Message'); // returns "John is the Head Coach on our team."