Skip to content

Basic Syntax

A simple Smarty template could look like this:

<h1>{$title|escape}</h1>
<ul>
    {foreach $cities as $city}
        <li>{$city.name|escape} ({$city.population})</li>
    {foreachelse}
        <li>no cities found</li>        
    {/foreach}
</ul>

All Smarty template tags are enclosed within delimiters. By default these are { and }, but they can be changed.

For the examples in this manual, we will assume that you are using the default delimiters. In Smarty, all content outside of delimiters is displayed as static content, or unchanged. When Smarty encounters template tags, it attempts to interpret them, and displays the appropriate output in their place.

The basis components of the Smarty syntax are: