zoukankan      html  css  js  c++  java
  • 五、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}>中内容插入到子模板中的任何位置

  • 相关阅读:
    使用 Promise.all 同时发起多个请求
    vite 开发 Cesium 程序最佳配置实践
    【linux学习】使用grep命令获取过滤的数据作为下个命令的入参
    记一次k8s depolyment失败处理
    powerdesigner导出excel数据字典
    vue 时间格式
    ASP.NET MVC4 跨域配置
    Win10系统中切换虚拟桌面的快捷键如何设置
    不顾一切最简NHinbernate配置并读写数据库
    Windows time_wait过多解决办法
  • 原文地址:https://www.cnblogs.com/yxpblog/p/4224354.html
Copyright © 2011-2022 走看看