This is the name of the default template directory. If you do not supply a resource type when including files, they will be found here. By default this is ./templates, meaning that Smarty will look for the templates/ directory in the same directory as the executing php script. $template_dir can also be an array of directory paths: Smarty will traverse the directories and stop on the first matching template found.

Technical Note

It is not recommended to put this directory under the web server document root.

Technical Note

If the directories known to $template_dir are relative to directories known to the include_path you need to activate the $use_include_path option.


As of Smarty 3.1 the attribute $template_dir is no longer accessible directly. Use getTemplateDir(), setTemplateDir() and addTemplateDir() instead.

See also Template Resources, $use_include_path, getTemplateDir(), setTemplateDir() and addTemplateDir().