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); //關閉
  }

      


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM