{extends}

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

  • 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 of the $template_dir directory.

Note

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

Attributes:

Attribute Name Type Required Default Description
file string Yes n/a The name of the template file which is extended

Example 7.26. Simple {extends} example


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

  

See also Template Interitance and {block}.