• 五、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}>中内容插入到子模板中的任何位置

  • 相关阅读:
    c# 发送邮件笔记(一)
    windows API(一)
    SubSonic3.0安装
    Node.js安装MongoDB驱动
    JDBC连接数据库方法
    Delphi LiveBindings如何绑定一个对象(二)(转)
    delphi RTTI机制学习(一)
    Delphi LiveBinds组件
    mysql 每个分类各取5条
    mysql in(...) 1次取出当前记录及上1条下1条记录, 且使用了主键作为索引
  • 原文地址:https://www.cnblogs.com/yxpblog/p/4224354.html
Copyright © 2020-2023  润新知