aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/smarty/smarty/docs/programmers/resources/resources-extends.md
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/smarty/smarty/docs/programmers/resources/resources-extends.md')
-rw-r--r--vendor/smarty/smarty/docs/programmers/resources/resources-extends.md36
1 files changed, 36 insertions, 0 deletions
diff --git a/vendor/smarty/smarty/docs/programmers/resources/resources-extends.md b/vendor/smarty/smarty/docs/programmers/resources/resources-extends.md
new file mode 100644
index 000000000..ad2e8f5d8
--- /dev/null
+++ b/vendor/smarty/smarty/docs/programmers/resources/resources-extends.md
@@ -0,0 +1,36 @@
+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 Interitance](#advanced.features.template.inheritance).
+
+As of Smarty 3.1 the `extends:` resource may use any available [template
+resource](#resources), including `string:` and `eval:`. When [templates
+from strings](#resources.string) 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
+superseeded 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 programatically. 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](#advanced.features.template.inheritance)
+[`{block}`](#language.function.block) and
+[`{extends}`](#language.function.extends).