五、smarty模板继承特性

1、如何去实现模板之间的继承

   继承是发生在模板之间的事,和PHP程序没有关系的

   方法一:

   在模板中使用<{extends}>函数实现模板的继承

<{extends file=”模板文件名”}>

        或

<{extends ”模板文件名”}>

   注意:如果使用<{extends}>函数,必须用在子模板中的第一行

   方法二:

   在PHP中使用$smarty对象中的display()方法      

$smarty->display(“extends:模板1|模板2|模板3”)  //表示模板2继承模板1,模板3继承模板2

2、在子模板中覆盖父模板中部分内容区域

   在父模板中声明一个区域“块”<{block}>,如果在子模板中需要修改多个父模板中的位置,就需要声明多个块,也需要为每个块起个名字

        注意:

               1)  在父模板中定义<{block}>块,对结果没有变化,只是为了在子模板中能找到区域源并将其内容可以覆盖

               2)  如果子模板继承了父模板,那么它只能包含<{block}>标签内容,其它内容模板都会忽略

3、合并子模板和父模板的<{block}>标签中的内容

    1)使用<{block}>属性append添加 或 prepend追加

         //append是在父模板的后面添加

         //prepend是在父模板的前面追加

    2)使用smarty的保留变量<{$smarty.block.child}>作为占位符号,可将子模板<{block}>中内容插入到父模板中的任何位置

    3)使用smarty的保留变量<{$smarty.block.parent}>作为占位符号,可将父模板<{block}>中内容插入到子模板中的任何位置

posted @ 2015-01-14 16:57  记忆书签  阅读(325)  评论(0编辑  收藏  举报