PHP Classes

File: htdocs/xoops_lib/vendor/smarty/smarty/docs/programmers/resources/resources-extends.md

Recommend this page to a friend!
  Packages of Michael Beck   Xoops 2.5   htdocs/xoops_lib/vendor/smarty/smarty/docs/programmers/resources/resources-extends.md   Download  
File: htdocs/xoops_lib/vendor/smarty/smarty/docs/programmers/resources/resources-extends.md
Role: Example script
Content type: text/markdown
Description: Example script
Class: Xoops 2.5
Modular content management publication system
Author: By
Last change:
Date: 2 months ago
Size: 1,532 bytes
 

Contents

Class file image Download

Extends 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}.