DownloadExtends Template Resources {#resources.extends}
The extends: resource is used to define child/parent relationships for
template inheritance from the PHP script. For details see section of
Template Inheritance.
As of Smarty 3.1 the extends: resource may use any available template
resource, including string: and eval:. When templates
from strings are used, make sure they are properly
(url or base64) encoded. Is an eval: resource found within an
inheritance chain, its \"don\'t save a compile file\" property is
superseded by the extends: resource. The templates within an
inheritance chain are not compiled separately, though. Only a single
compiled template will be generated.
> Note
>
> Use this when inheritance is required programmatically. When inheriting
> within PHP, it is not obvious from the child template what inheritance
> took place. If you have a choice, it is normally more flexible and
> intuitive to handle inheritance chains from within the templates.
<?php
$smarty->display('extends:parent.tpl|child.tpl|grandchild.tpl');
// inheritance from multiple template sources
$smarty->display('extends:db:parent.tpl|file:child.tpl|grandchild.tpl|eval:{block name="fooBazVar_"}hello world{/block}');
?>
See also Template Inheritance
{block} and
{extends}.
|