• thinkphp3.2.3关于模板使用之一二


    1.包含文件

       使用场景:比如我们在编写网页布局的时候,可能每一个网页的头和脚是相同的,此时如果给每一个网页分别设置,未免太麻烦了。此时就可以使用带包含文件。

       首先检查配置文件查看我们的主题目录在哪儿,我们可以在核心配置文件中查看:'DEFAULT_THEME'=>'default',所以我的是在默认主题下。就也是说在:

       Home/View/default/User下面。

       (1)我们首先在default文件夹下面创建两个文件header.html  /footer.html,分别为:

         header.html

            <!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01 Strict//EN' 'http://www.w3.org/TR/html4/strict.dtd'>
            <html>
            <head>
            <meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>
            <title><block name="title">在此插入标题</block></title>
            </head>
            <body>    

            <div id="header">这里是header文件</div>
            <hr/>

         footer.html

         <hr/>
         <div id="footer">这里是footer文件</div>

         </body>
         </html>

     (2)然后在使用的时候分别调用就可以了,别如index.html

      <include file='Public/header' />

          成功了
      <include file='Public/footer' />

    2.模板继承

      使用上面所述的文件包含方法发现,每一个网页的<title></title>的值是相同的,显然是不合适的。那如何解决呢?这就使用到了模板继承

    (1)首先在Public/目录下创建一个basic.html,内容如下(这是基本的网页框架)    

      <!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01 Strict//EN' 'http://www.w3.org/TR/html4/strict.dtd'>
      <html>
      <head>
      <meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>
      <title><block name="title">在此插入标题</block></title>
      </head>
      <body>
      <include file="Public/header"/><!--将header.html文件内容包含-->


      <block name="main"></block><!--将footer.html文件内容包含-->


      <include file="Public/footer"/>
      </body>
      </html>

    (2)此时还需要改变header.html,footer.html的内容(因为基础文件basic.html中已经包含了网页基础公共部分)

         header.html

      <div id="header">这里是header文件</div>
      <hr/>

        footer.html

      <hr/>
      <div id="footer">这里是footer文件</div>

    (3)使用方法index.html/select.html

         index.html

        <extend name="Public/basic.html">

        <block name="title">index的头标题</block>

        <block>网页主题内容(即body体中的内容)</block>

      select.html

        <extend name="Public/basic.html">

        <block name="title">select.html的头标题</block>

        <block>网页主题内容(即body体中的内容)</block>

    3.模板布局

      ThinkPHP 的模版引擎内置了布局模版功能支持,可以方便实现模版布局以及布局嵌套功能。有三种布局方式:

    在PUblic/下面创建一个layout.html文件

    <!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01 Strict//EN' 'http://www.w3.org/TR/html4/strict.dtd'>
    <html>
    <head>
    <meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>
    <title>在此插入标题</title>
    </head>
    <body>
    <include file="Public/header"/>


    {__CONTENT__}


    <include file="Public/footer"/>
    </body>
    </html>

    (1)全局配置方式

          a.首先我们需要配置核心配置文件config.php

          //开启模版布局功能,并指定基础页
      'LAYOUT_ON'=>true,
      'LAYOUT_NAME'=>'Public/layout',
         b.此时当我们在View/User/下任意新建一个HTML文件时就会使用到这个layout.html网页模板

    (2)如果我们不想开启模板配置功能,仅仅在本网页使用默认模板,就可以使用标签模式了

         //子模版引入模版基页
      <layout name="Public/layout" />

    (3)layout控制布局

        这个方法是直接在控制器中使用

      UserController.class.php

      //引入指定基页
      public function index() {
      layout('Public/layout');
      //layout(false); //关闭
      }

          

  • 相关阅读:
    Python Web学习笔记之Python多线程基础
    Python入门之python可变对象与不可变对象
    Python Web学习笔记之SOCK_STREAM和SOCK_DGRAM
    background和background-position相关笔记
    自定义switch开关
    获取浏览器类型和版本号
    随机生成字符串
    white-space详解
    文件选择按钮随笔
    mouse的各种事件
  • 原文地址:https://www.cnblogs.com/imysql/p/5400525.html
Copyright © 2020-2023  润新知