Smarty模板重點彙總

Smarty模板重點回顧:
一、功能:先後端分離;
二、實現方法:經過使用Smarty的核心類來實現,利用display方法來讀取模板文
件,用正則進行替換,替換完保存到臨時文件,再將臨時文件加載到當前頁面顯
示;
三、配置文件(入口文件):對Smarty類進行實例化,規定文件存放路徑;
四、若是要在頁面中使用Smarty模板,須要將配置文件引入到頁面中
五、瀏覽器要訪問的頁面是後臺頁面(.PHP),最終顯示在瀏覽器中的是模板頁
面(.html或.tpl
六、模板頁面中的文件路徑都是相對於後臺頁面,若是不使用相對路徑,可使
用絕對路徑;
七、模板裏顯示的變量
(1)變量要寫在Smarty標記中間,變量名以$開頭;
(2)支持全部類型的數據,包括數組(關聯數組)、對象
八、關聯數組在模板顯示的時候,除了可使用PHP語法,還可使用點方法進行
調用
九、模板裏面讀取配置文件
(1)將配置文件加載到當前頁面
<{config_load file='test.conf'}>
(2)讀取配置文件中的內容
<{#color#}>
(3)若是配置文件中分了塊,讀取某一塊的配置的方法
<{config_load file='test.conf' section='塊名'}>
十、Smarty保留變量
$smarty.const 讀取常量 例如:CSS,JS,圖片的存放路口
十一、變量調節器
關鍵字:modifier
(1)系統自帶的變量調節器:轉大寫[upper] 轉小寫[lower] 首字母大寫
[capitalize] 截取字符串[truncate] 拼接字符串[cat] 替換[replace]
調用方法:<{$變量名|調節器名}>
(2)自定義變量調節器:
變量調節器存放目錄下新建文件:modifier.調節器名稱.php
在該文件裏面新建一個方法:function smarty_modifier_調節器名($str){}
$str參數表明調用該調節器的變量
最後該方法要有一個返回值
十二、函數
關鍵字:function普通函數,block塊函數
(1)系統自帶的函數:追加[append] 賦值[assign] 繼承[extends] 循環[for]

遍歷[foreach],[foreachelse]
調用方法:
<{foreach $shuzu as $v或$k}>php

<{$v@index}> 從0開始的索引
<{$v@first}> 表明是第一個循環的
<{$v@last}> 表明是最後一個循環的html

<{/foreach}>後端

條件[if][elseif][else]
調用方法:api

<{if 條件}>
知足條件輸出內容
<{else}>
不知足條件輸出內容
<{/if}>數組

<{if 條件1}>
知足條件輸出內容
<{elseif 條件2}>
不知足條件1知足條件2執行
<{/if}>瀏覽器

比較的時候,有備用詞可使用緩存

(2)自定義函數
找到存放函數插件的文件夾在裏面新建文件:function.函數名.php (block.函
數名.php)
在該文件裏面新建一個方法:function smarty_function_函數名($args){}
function smarty_block_函數名($args,$nr,$smarty,$bs){}app

參數$args:調用該函數傳入的屬性關聯參數
參數$nr:block塊之間所夾的內容
參數$smarty:對象
參數$bs:是不是第一次調用(開始標記裏面調用)前後端分離

該方法最終有返回值函數

1三、模板繼承

extends   block

父模板:通常用來放網頁的頭和尾
須要預留必定的區域來讓子頁面修改替換
使用<{block name='neirong'}><{/block}>
通常來講,父模板裏面至少預留兩塊區域,其中一塊是在head裏面 另外一塊是在
body裏面

子頁面:通常繼承父模板全部,存放該頁面須要實現的功能的代碼
<{extends file='文件名'}>
完善替換父模板中預留的區域:
<{block name='模塊名'}>  —— 開頭

中間填寫數據

<{/block}>  —— 結尾

1四、緩存:

作法:
(1)定義一個緩存文件存放的路徑  $filename="文件路徑"
(2)判斷緩存文件是否存在或者是否過時  file_exists($filename)
(3)若是文件不存在或過時:
開啓內存緩存 ob_start();
取內存中的內容 ob_get_contents();
將內容存放到緩存文件中 file_put_contents();
關閉內存緩存 ob_flush();
(4)若是文件存在或沒有過時:
將緩存文件引入當前頁面 include();

相關文章
相關標籤/搜索