Thinkphp模版

function text()
    {
        //變量輸出
        $this->assign("text","Hello");
        $attr=array("one"=>100,"two"=>200);
        $this->assign("shuzu",$attr);
        //使用運算符,註冊兩個變量
        $this->assign("a",10);
        $this->assign("b",15);
        //三元運算符
        $this->assign("pd",false);
        $this->display();
    }
     
複製代碼

在Home/View/Main中新建一個文件text.htmlphp

複製代碼
<body>
<h1>測試頁面</h1>
1.變量輸出
<div><{$text}></div>
<!--取數組內容: -->
<div><{$shuzu["one"]}></div>
<div><{$shuzu.one}></div>
2.系統變量輸出
<div><{$Think.server.script_name}></div>
3.常量輸出
   不帶雙下劃線的常量輸出(兩種方式均可):
<div><{$Think.const.MODULE_NAME}></div>
<div><{$Think.MODULE_NAME}></div>
   帶雙下劃線的常量輸出:
<div>__ROOT__</div>
<div>__ACTION__</div>
4.配置輸出
<div><{$Think.config.db_charset}></div>
5.語言變量
<div><{$Think.lang.page_error}></div>
6.默認值輸出
<div><{$user.nickname|default="這傢伙很懶,什麼也沒留下"}></div>
7.使用運算符
<div>a*b=<{$a*$b}></div>
<div>a+b=<{$a+$b}></div>
<div>注意:在使用運算符的時候,再也不支持點語法和常規的函數用法</div>
8.三元運算符
<div><{$pd?"男":"女"}></div>
<div>注意:三元運算符中暫時不支持點語法。</div>
9.包含文件
<include file="Main/Zi" />
複製代碼

運行結果:html

 

2.模版繼承:

模板繼承是一項更加靈活的模板佈局方式,模板繼承不一樣於模板佈局,甚至來講,應該在模板佈局的上層。數組

模板繼承其實並不難理解,就比如類的繼承同樣,模板也能夠定義一個基礎模板(或者是佈局),而且其中定義相關的區塊(block),函數

而後繼承(extend)該基礎模板的子模板中就能夠對基礎模板中定義的區塊進行重載。佈局

所以,模板繼承的優點實際上是設計基礎模板中的區塊(block)和子模板中替換這些區塊。測試

每一個區塊由<block></block>標籤組成。this

在Home/View/Main中新建文件 fu.html 和 zi.htmlspa

在Home/Controller/MainController.class.php中寫一個方法設計

function Zi()
     {
         $this->display();
         }
     

 fu.html :3d

複製代碼
<body>
<block name="top">
<div>這是頭部內容</div>
</block>

<block name="zhong">
<div>這是主內容</div>
</block>

<block name="foot">
<div>這是頁腳</div>
</block>

</body>
</html>
複製代碼

zi.html:

<extend name="fu" />

子模板徹底繼承父模版的內容:

 

若修改子模板:

<extend name="fu" />
<block name="zhong">
<div style="width:50%; height:50px;  color:#00F">主內容</div>
</block> 

運行結果:

 

3.內置函數

3.1 if標籤

在condition屬性中能夠支持eq等判斷表達式,同上面的比較標籤,可是不支持帶有」>」、」<」等符號的用法,由於會混淆模板解析

注意條件的寫法(雙引號裏面),注意else後面有"/"

<if condition="$b == 10">

  <div>10</div>

<else/>

  <div>20</div>

</if>

3.2 foreach 標籤

foreach遍歷數組,name的值爲變量名(數組名),item的值爲循環數組的每一項的值

<foreach name="shuzu" item="v" > 
<div><{$v}></div>
</foreach>

3.3 volist 標籤

volist標籤一般用於查詢數據集(select方法)的結果輸出,一般模型的select方法返回的結果是一個二維數組,能夠直接使用volist標籤進行輸出。

<volist name="list" id="vo">

{$vo.id}:{$vo.name}<br/>

</volist>

3.4 for 標籤

開始值、結束值、步進值和循環變量均可以支持變量,開始值和結束值是必須,

其餘是可選。comparison 的默認值是lt;;name的默認值是i,步進值的默認值是1,

舉例以下:

3.5 switch case 標籤

使用方法以下:

3.6 範圍判斷標籤

範圍判斷標籤包括in notin between notbetween四個標籤,都用於判斷變量是否中某個範圍。

3.7 import 標籤:導入外部JS和CSS文件的方法

4.原樣輸出:可使用<literal></literal>標籤來防止模板標籤被解析

5. 模版註釋

模板支持註釋功能,該註釋文字在最終頁面不會顯示,僅供模板製做人員參考和識別。

 

6.模版替換

相關文章
相關標籤/搜索