smarty模板引擎_9-Smarty模板的继承特性

来源:互联网 发布:水岛宏 知乎 编辑:程序博客网 时间:2024/05/18 15:27

子模板继承父模板

1、通过<{extends}>标签继承

<{extends file='parent.html'}>

必须写在子模板中的第一行,后面的内容将全部被忽略


在子模板中覆盖父模板的内容或者追加内容

覆盖父模板中的内容

<{block name='title'}>
子模板的内容
<{/block}>

将会覆盖父模板中同名块(name='title')中的内容

<{block name='title'}>
父模板中的内容
<{/block}>


在子模板中将内容追加到父模板中

<{extends file='parent.html'}><{block name='title' prepend}>我是在前面追加的内容--<{/block}><{block name='content' append}><br />--我是在后面追加的内容<{/block}> 

prepend将会将子模板块中的内容追加到父模板中同名块的内容的前面

append则是追加到后面

prepend和append可同时作用于同一个块


<h1>父模版</h1><{block name='content1'}><{$smarty.block.child}><{/block}>
上面父模板中的块content1,没有定义内容,

<{$smarty.block.child}>表示将显示子模板中同名块中的内容

<{block name='title'}>新添加的--<{$smarty.block.parent}><{/block}>
同理,在子模板中的"新添加的--<{$smarty.block.parent}>"

表示块中的内容为"新添加的--(再加上父模板中同名块中的内容)"

与extends类似的<{include file='parent.html'}>


0 1