Skip to content


{extends} tags are used in child templates in template inheritance for extending parent templates. For details see section of Template Inheritance.

  • The {extends} tag must be on the first line of the template.

  • If a child template extends a parent template with the {extends} tag it may contain only {block} tags. Any other template content is ignored.

  • Use the syntax for template resources to extend files outside the $template_dir directory.


Attribute Required Description
file Yes The name of the template file which is extended


When extending a variable parent like {extends file=$parent_file}, make sure you include $parent_file in the $compile_id. Otherwise, Smarty cannot distinguish between different $parent_files.


{extends file='parent.tpl'}
{extends 'parent.tpl'}  {* short-hand *}

See also Template Inheritance and {block}.