黄a在线观看-黄a在线-黄a大片-黄色片在线看-黄色毛片免费-黄色大片网站

您的位置:首頁技術(shù)文章
文章詳情頁

smarty常用關(guān)鍵字 PHP模板引擎smarty的使用方法和詳細(xì)介紹

瀏覽:17日期:2022-06-09 13:10:53

一、什么是smarty?
smarty是一個(gè)使用PHP寫出來的模板,PHP模板引擎,它提供了邏輯與外在內(nèi)容的分離,簡單的講,目的就是要使用PHP程序員同美工分離,使用的程序員改變程序的邏輯內(nèi)容不會(huì)影響到美工的頁面設(shè)計(jì),美工重新修改頁面不會(huì)影響到程序的程序邏輯,這在多人合作的項(xiàng)目中顯的尤為重要。

二、smarty優(yōu)點(diǎn):
1. 速度:采用smarty編寫的程序可以獲得最大速度的提高,這一點(diǎn)是相對于其它的模板引擎技術(shù)而言的。
2. 編譯型:采用smarty編寫的程序在運(yùn)行時(shí)要編譯成一個(gè)非模板技術(shù)的PHP文件,這個(gè)文件采用了PHP與HTML混合的方式,在下一次訪問模板時(shí)將WEB請求直接轉(zhuǎn)換到這個(gè)文件中,而不再進(jìn)行模板重新編譯(在源程序沒有改動(dòng)的情況下)
3. 緩存技術(shù):smarty選用的一種緩存技術(shù),它可以將用戶最終看到的HTML文件緩存成一個(gè)靜態(tài)的HTML頁,當(dāng)設(shè)定smarty的cache屬性為true時(shí),在smarty設(shè)定的cachetime期內(nèi)將用戶的WEB請求直接轉(zhuǎn)換到這個(gè)靜態(tài)的HTML文件中來,這相當(dāng)于調(diào)用一個(gè)靜態(tài)的HTML文件。
4. 插件技術(shù):smarty可以自定義插件。插件實(shí)際就是一些自定義的函數(shù)。
5. 模板中可以使用if/elseif/else/endif。在模板文件使用判斷語句可以非常方便的對模板進(jìn)行格式重排。

三、不適合使用smarty的地方:
1. 需要實(shí)時(shí)更新的內(nèi)容。例如像股票顯示,它需要經(jīng)常對數(shù)據(jù)進(jìn)行更新,這類型的程序使用smarty會(huì)使模板處理速度變慢。
2. 小項(xiàng)目。小項(xiàng)目因?yàn)轫?xiàng)目簡單而美工與程序員兼于一人的項(xiàng)目,使用smarty會(huì)喪失php開發(fā)迅速的優(yōu)點(diǎn)。

四、smarty目錄結(jié)構(gòu)及版本
打開smarty的官方網(wǎng)站,www.smarty.net/download.php。下載Smarty 3.1.12。有tar.gz和zip分別適用于linux和windows版本。
下載好后Smarty-stable-3.1.12解壓縮會(huì)得到一個(gè) Smarty-3.1.12 文件夾,里面有兩個(gè)主要文件夾demo和libs

demo文件夾為示例文件夾,里面包含默認(rèn)文件夾結(jié)構(gòu),是我們要進(jìn)行編寫程序代碼的主要文件夾。demo里文件夾的名稱都是smarty默認(rèn)的目錄結(jié)構(gòu)名稱,可以通過改smarty對應(yīng)屬性值,再把文件夾名改成我們想要的名稱。
libs為smarty代碼源文件夾,一般不動(dòng)。

/libs/Smarty.class.php  #主文件
/libs/sysplugins/  #內(nèi)部plugin
/libs /plugins/  #外部plugin,可自由擴(kuò)充
/demo/cahce/  #放置緩存文件
/demo/configs /  #放置可以載入的配置文件
/demo/templates/  #放置模板文件
/demo/templates_c/  #放置對模板編譯后的文件

可以把解壓得到的 Smarty-3.1.12 文件夾名改成我們想要的項(xiàng)目名,demo也可以改成我們想要的具體存放編碼的文件夾的名稱

2、調(diào)試Smarty-3.1.12
創(chuàng)建自己的文件,在demo文件夾下創(chuàng)建index.php。
在templates目錄中創(chuàng)建模板index.tpl
(幾乎可以是任何文本文件的擴(kuò)展名,常用的是tpl,php,html,不建議使用后兩者,因?yàn)榭梢詮臑g覽器直接訪問而不安全。可以對apache的httpd.conf進(jìn)行設(shè)置,禁止直接訪問.tpl文件。或者將templats目錄放在網(wǎng)站文檔樹之外。)


//index.php代碼
require("../libs/Smarty.class.php");
$smarty = new Smarty;
//在調(diào)用的模板里可以通過{$name}來輸出name的值zhang,{}為這里的smarty分界符
$smarty->assign("name","zhang");
//調(diào)用模板tpl文件里不能執(zhí)行PHP語句塊
$smarty->display("templates/index.tpl");


/*
index.tpl頁面內(nèi)容
<html>
<body>
<span>你好, {$name}</span>
</body>
</html>
*/

/*
Smarty編譯時(shí)的處理過程是源php文件->模板文件(可能調(diào)用多個(gè)或多次)->源php文件。。。
也就是說不影響原php文件的其他處理和輸出。所以smarty模板文件可以是完整的html,也可以是其中一部分。

smarty處理過程
smarty將php源文件,首先編譯成中間文件(也是php),如果啟用緩存,再根據(jù)編譯文件生成緩存文件(也是php),需要緩存的部分全部是硬編碼。
之后的每次訪問都會(huì)訪問編譯文件(如果編譯文件已經(jīng)存在),一次編譯多次調(diào)用(可以是單文件的多次,也可以是多文件的多次),如果啟用緩存且有緩存文件而且沒有過期,則直接訪問緩存文件,跳過編譯文件。
編譯文件一經(jīng)生成,就不會(huì)被自動(dòng)更新,除非模板文件或者配置文件更改。源php文件修改是不會(huì)引發(fā)重新編譯的。一旦編譯文件重新生成,緩存文件也必然重新生成。
*/

//Smarty允許有兩種特殊的編譯設(shè)置存在:
//1、 任何時(shí)候都不自動(dòng)重新編譯(上線階段):只有沒有該文件的編譯文件時(shí)才生成,模板文件或者配置文件的更改,不會(huì)引發(fā)重新編譯。
$smarty->setCompile_check(false);//默認(rèn)為true,false表示任何時(shí)候都不在文件發(fā)生變更的情況下生成編譯文件,除了無編譯文件。
$smarty->getCompile_check();//獲得當(dāng)前編譯檢查的設(shè)置

//2、任何時(shí)候都重新編譯(調(diào)試階段):任何時(shí)候都重新編譯。
$smarty->setForce_compile(true);//默認(rèn)為false,true表示每次都重新編譯(啟用緩存的話,每次都重新緩存)
$smarty->getForce_compile();//獲得當(dāng)前強(qiáng)制編譯的設(shè)置

//開啟緩存
$smarty->setCaching(true);
$smarty->getCaching();//獲取當(dāng)前緩存狀態(tài),默認(rèn)是false關(guān)閉的
$smarty->setcache_lifetime(60);//設(shè)置緩存時(shí)間單位秒

//{*模版文件*}
//{nocache}
//{$name}
//{/nocache}
//{*如果開啟緩存的話放在nocache標(biāo)簽內(nèi)的變量不會(huì)緩存,每次讀取PHP源文件的值*}

/*
smarty分界符
在模板文件中,區(qū)分普通html代碼和smarty代碼靠的是分界符。默認(rèn)是 {} ,但可能會(huì)與js和css相沖突。可以進(jìn)行變更。
在3.0中模板標(biāo)簽將不支持空格,如{ $abc }在Smarty2中可以識別的,但是3.0里頭就不行了,必須這樣{$abc},這樣是為了能夠更好的支持javascript和css。
*/

$smarty->left_delimiter = "{" //左分界符,2.0屬性,3.0沿用
$smarty->right_delimiter = "}"

/*
分界符就相當(dāng)于PHP的echo,分界符中的值都將輸出,除非賦值等操作
smarty tpl文件中分界符中兩個(gè)**之間的內(nèi)容為注釋內(nèi)容如
tpl文件:
{*這是模板注釋內(nèi)容*}
*/

//設(shè)置緩存目錄路徑,不設(shè)默認(rèn)"cache"
$smarty->setCacheDir("cache");
//獲取緩存目錄路徑
$smarty->getCacheDir();

//設(shè)置配置目錄路徑,不設(shè)默認(rèn)"configs"
$smarty->setConfigDir("configs");

//添加配置目錄路徑,所有路徑將會(huì)以數(shù)組形式保存,調(diào)用文件時(shí)將在所有路徑中查找
$smarty->addConfigDir("configs/test");

//獲取配置目錄路徑的數(shù)組
$smarty->getConfigDir();

//設(shè)置插件目錄路徑,不設(shè)默認(rèn)"plugins"
$smarty->setPluginsDir("plugins");

//添加插件目錄路徑,所有路徑將會(huì)以數(shù)組形式保存,調(diào)用文件時(shí)將在所有路徑中查找,plugins文件夾里放的就是可以在前臺或后臺按不同規(guī)則調(diào)用的函數(shù)的存儲(chǔ)文件,文件名及函數(shù)名的命名按不同調(diào)用規(guī)則有不同寫法要求
$smarty->addPluginsDir("plugins/test");

//獲取插件目錄路徑的數(shù)組
$smarty->getPluginsDir();

//設(shè)置模板目錄路徑,不設(shè)默認(rèn)"templates"
$smarty->setTemplateDir("templates");

//添加模板目錄路徑,所有路徑將會(huì)以數(shù)組形式保存,調(diào)用文件時(shí)將在所有路徑中查找
$smarty->addTemplateDir("templates/test");

//獲取模板目錄路徑的數(shù)組
$smarty->getTemplateDir();

//設(shè)置編譯目錄路徑,不設(shè)默認(rèn)"templates_c"
$smarty->setCompileDir("templates_c");

//獲取編譯目錄路徑
$smarty->getCompileDir();

//PHP模板引擎smarty常用關(guān)鍵字 和 語法
smarty其他常用關(guān)鍵字

<{section loop= $varName[,start=$start,step=$setp,max=$max,$show=true]}>
name:section的名稱,不用加$;
$loop:要循環(huán)的變量,程度中要使用assign對這個(gè)變量進(jìn)行操作。
$start:開始循環(huán)的下標(biāo)。默認(rèn)為0;
$step:每次循環(huán)下標(biāo)的增數(shù);
$show : boolean型。決定是否對于這塊進(jìn)行顯示。默認(rèn)為true;
<{section}>的屬性;

{$varName|count}:統(tǒng)計(jì)循環(huán)次數(shù) {$smarty.section.l.index}
{$smarty.section.l.iteration}:和index不同從1開始;

index:循環(huán)下標(biāo)。默認(rèn)為0;
index_prev:當(dāng)前下標(biāo)的上一個(gè)值,默認(rèn)為-1;
index_next:當(dāng)前下標(biāo)的下一個(gè)值,默認(rèn)為1;
first:是否為第一下循環(huán);
last:是否為最后一個(gè)循環(huán);
iteration:循環(huán)個(gè)數(shù);
rownum:當(dāng)前行號,iteration的別名;
loop:最后一個(gè)循環(huán)號。Section的循環(huán)次數(shù);
show:是否顯示;

smarty 系統(tǒng)變量
{* 顯示URL中的page值($_GET)http://www.example.com/index.php?page=foo *}
{$smarty.get.page}

{* 顯示來自一個(gè)表單的"page"變量($_POST["page"])*}
{$smarty.post.page}

{* 顯示COOKIE變量"username"的值($_COOKIE["username"])*}
{$smarty.cookies.username}

{* 顯示服務(wù)器變量"SERVER_NAME"($_SERVER["SERVER_NAME"])*}
{$smarty.server.SERVER_NAME}
{$smarty.server.PHP_SELF}
{$smarty.server.SCRIPT_NAME}

{* 顯示系統(tǒng)環(huán)境變量"PATH" *}
{$smarty.env.PATH}

{* 顯示PHP會(huì)話變量"id"($_SESSION["id"])*}
{$smarty.session.id}

{* 顯示變量"username",不論來自get/post/cookies/server/env *}
{$smarty.request.username}
$smarty}保留變量可以被用于訪問一些特殊的模板變量,以下是全部頁面請求變量。

以下是訪問頁面請求變量諸如get,post,cookies,server,enviroment和session變量的例子. 例如{$smarty.server.SERVER_NAME}取得服務(wù)器變量,{$smarty.env.PATH}取得系統(tǒng)環(huán)境變量path,{$smarty.request.username}取得get/post/cookies/server/env的復(fù)合變量。

{$smarty.now}變量用于訪問當(dāng)前時(shí)間戳.
可以用 date_format調(diào)節(jié)器格式化輸出. 例如{$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"}

{$smarty.const}
你可以直接訪問PHP常量. 例如{$smarty.const._MY_CONST_VAL}

{$smarty.capture}
可以通過{capture}..{/capture}結(jié)構(gòu) 截取的輸出可以使用{$smarty} 變量訪問.

{$smarty.config}
{$smarty}變量 可以訪問已經(jīng)加載的config變量.

例如 {$smarty.config.foo}就可以表示 {#foo#}.

{$smarty.section}, {$smarty.foreach}
{$smarty} 變量可以訪問"section"和"foreach"循環(huán)的屬性.

{$smarty.template}
顯示當(dāng)前被處理的模板的名字.

{$smarty.version}
顯示smarty模板的版本

{$smarty.ldelim}
顯示左分隔符

{$smarty.rdelim}
顯示右分隔符$smarty}保留變量可以被用于訪問一些特殊的模板變量,以下是全部頁面請求變量。

以下是訪問頁面請求變量諸如get,post,cookies,server,enviroment和session變量的例子. 例如{$smarty.server.SERVER_NAME}取得服務(wù)器變量,{$smarty.env.PATH}取得系統(tǒng)環(huán)境變量path,{$smarty.request.username}取得get/post/cookies/server/env的復(fù)合變量。

{$smarty.now}變量用于訪問當(dāng)前時(shí)間戳.
可以用 date_format調(diào)節(jié)器格式化輸出. 例如{$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"}

{$smarty.const}
你可以直接訪問PHP常量. 例如{$smarty.const._MY_CONST_VAL}

{$smarty.capture}
可以通過{capture}..{/capture}結(jié)構(gòu) 截取的輸出可以使用{$smarty} 變量訪問.

{$smarty.config}
{$smarty}變量 可以訪問已經(jīng)加載的config變量.

例如 {$smarty.config.foo}就可以表示 {#foo#}.
{$smarty.section}, {$smarty.foreach}
{$smarty} 變量可以訪問"section"和"foreach"循環(huán)的屬性.

{$smarty.template}
顯示當(dāng)前被處理的模板的名字.

{$smarty.version}
顯示smarty模板的版本

{$smarty.ldelim}
顯示左分隔符

{$smarty.rdelim}
顯示右分隔符

/*
我們可以建不同的php源文件文件夾,把編寫的php文件按一定的分類放在不同的文件夾中。
然后在每個(gè)文件夾中都創(chuàng)建一個(gè)自定義的config文件,在config文件中創(chuàng)建一個(gè)新的$smarty = new Smarty 對象
然后把所有不同的文件夾的php文件的緩存,配置文件,插件,模版,編譯目錄都設(shè)置到同一個(gè)緩存,配置文件,插件,模版,編譯目錄
讓該文件夾下所有PHP源文件都引用該配置文件即可獲取相同配置
*/

//模版變量
$arr = array(array("zhang","li"),"a"=>array("liu","wang"),array("ming","yi"));
$smarty->assign("testArr", $arr);

//設(shè)置模版變量,為將要調(diào)用的模版提供變量,在接下來調(diào)用的模版中可以通過{$testArr}或者{$testArr["a"][0]}或者{$testArr.a.0}來訪問具體某數(shù)組元素
//在模版中可以直接通過 {$testArr = "testValue" scope="global"} 來更改傳過來的模板變量的值(如果不存在則在模板中創(chuàng)建并設(shè)置該模版變量),scope屬性是標(biāo)注模板變量使用范圍的可不寫
//在模版中更改或創(chuàng)建成其他數(shù)組 {$testArr = [1,2,3]}也可以{$testArr = [1,"a"=>2,2=>3]}也可以{$testArr[] = 4}或其他類似PHP中創(chuàng)建數(shù)組方式
//php源文件可通過 $smarty->getTemplateVars("testArr") 獲取指定模版變量,如要獲取模板中改變或創(chuàng)建的模版變量,在模板中創(chuàng)建或更改其值時(shí)必須加上scope屬性并把值設(shè)置為scope="global"或scope="parent"

class A{
  function aa($nam){
    echo $nam;
  }
}

$smarty->assign("obj", new A);
//設(shè)置的模版變量是對象時(shí)在模版頁可以如下這樣調(diào)用,給模版?zhèn)黝悓ο髸r(shí)也是傳址

//{$obj->aa("my name is y")}
//Smarty可以識別嵌入在雙引號中的模版變量,只要此變量只包含數(shù)字、字母、下劃線。但貌似只支持能直接轉(zhuǎn)換成字符串的模版變量


$smarty->assign("testStr", "this is testStr");
//模板中可通過{"$testStr OK !"}來訪問

/*
tpl模板包含模板

模板文件:
{include file="header.tpl"}

header.tpl內(nèi)容:
<span>這是頂部內(nèi)容!!,歡迎你,{$name}</span>

模板包含模板也可以是這樣格式
{include file="header.tpl" testVar="這是頂部內(nèi)容!!!"}
header.tpl則可以通過{$testVar}使用調(diào)用頁包含時(shí)傳來的模板變量
header.tpl內(nèi)容:
<span>{$testVar},歡迎你,{$name}</span><hr />
*/

/*
可以預(yù)先規(guī)定一系列的變量與值的對應(yīng),并放在配置文件中,在使用時(shí)載入。
配置文件默認(rèn)放在configs文件夾中,可以自定義修改文件夾名。
*/

/*
#模板test.conf文件:
#鍵對應(yīng)的值可以不用引號括起來
title = Welcome to Smarty!!
cutoff_size = 40

[china]
language = chinese

[england]
language = english

#[china],[england]為標(biāo)簽,未設(shè)置標(biāo)簽的鍵值為全局的只要調(diào)用該配置文件就可以在模版中使用,設(shè)置了標(biāo)簽的鍵值只有在調(diào)用配置文件時(shí)指定了對應(yīng)標(biāo)簽才可以使用

#在PHP源文件調(diào)用配置文件語句$smarty->configLoad("test.conf", $sections = "england");該語句下面調(diào)用的模版才可以使用該配置文件,通過$sections屬性指定使用哪個(gè)標(biāo)簽下的鍵和值

#$sections參數(shù)可以不寫,默認(rèn)值為null,$smarty->configLoad("test.conf")則只使用全局的鍵值,而不能使用標(biāo)簽下的鍵值

#在模版下通過{config_load file="test.conf" section="china" scope="global"}語句調(diào)用配置文件

#section屬性可以不寫,默認(rèn)是null,scope屬性必須寫{config_load file="test.conf" scope="global"}

#section屬性可賦三種值

#local 只有當(dāng)前模版可以使用該配置文件

#parent 只有當(dāng)前模版引入該配置文件語句后包含的模版中,或在php源文件中smarty對象調(diào)用該配置文件后調(diào)用的模版中可以使用該配置文件中的鍵值

#global 測試效果和parent相同

#在模版中通過{#language#}來使用鍵值,也可以通過{$smarty.config.language}來訪問配置文件鍵值

#PHP源文件中可以使用$smarty->getConfigVars("language")或$smarty->getConfigVariable("language")來獲取鍵值,$smarty->getConfigVars("language")獲取的還可能是數(shù)組
*/

/*
tpl文件中常用函數(shù)
tpl文件:
<!--將capture標(biāo)簽括起的頁面顯示內(nèi)容存在capture指定的testCapture中 -->
<!--當(dāng)達(dá)到指定條件時(shí)可通過 {$smarty.capture.testCapture} 將內(nèi)容輸出出來 -->

{capture name="testCapture"}
{include file="f1.tpl"}
{/capture}

{if true}
{$smarty.capture.testCapture}
{/if}

{if $name == "wang"}
Welcome wang.
{elseif $name == "zhang"}
Welcome zhang.
{else}

Welcome, whatever you are.
{/if}

{*操作符可以是 ==,>= 等也可以是 eq,ne等*}
{for $x=0; $x<count($testArr); $x++}
{$x}
{/for}
{*for循環(huán),類似PHP代碼*}


{$x=0}
{while $x<count($testArr)}
{$x++}
{/while}
{*While循環(huán),也類似PHP代碼。*}



<!--name和key屬性可不寫-->
{foreach name="testForeach" from=$testArr key=arId item=arVal}
{$arId}對應(yīng)的值為:{$arVal}
<br>
{$smarty.foreach.testForeach.index}   <!--(循環(huán)內(nèi)部使用)顯示當(dāng)前循環(huán)的索引,如果數(shù)組為空,返回-1-->
{$smarty.foreach.testForeach.iteration} <!--(循環(huán)內(nèi)部使用)顯示當(dāng)前的循環(huán)次數(shù)-->
{$smarty.foreach.testForeach.first}   <!--(循環(huán)內(nèi)部使用)如果為第一次循環(huán),返回true-->
{$smarty.foreach.testForeach.last}   <!--(循環(huán)內(nèi)部使用)如果為最后一次循環(huán),返回true-->
{$smarty.foreach.testForeach.total}   <!-(循環(huán)內(nèi)外部使用)顯示循環(huán)的總次數(shù)-->
<br>

{foreachelse}  <!--$testArr數(shù)組變量沒有值時(shí)(0個(gè)元素)執(zhí)行。-->
$testArr is null
{/foreach}

{*也可以如下兩種類PHP格式*}
{foreach $testArr as $n}
{$n}
{/foreach}

{foreach $testArr as $key=>$n}
{$key}
{/foreach}

{$sectionArr = [0=>"a",4=>"b","c","d","e",6,7,8,9,10,11,12,13,14,15,16]}
{section name="testSection" loop=$sectionArr start=0 step=4 max=6 show=true}
{$smarty.section.testSection.index}- <!--當(dāng)前循環(huán)到的數(shù)組的鍵值-->
{$sectionArr[testSection]}- <!--當(dāng)前循環(huán)到的數(shù)組的元素值-->
{$smarty.section.testSection.iteration}-<!--當(dāng)前section循環(huán)的次數(shù),從1計(jì)起-->
<br/>

{sectionelse}
$sectionArr is null
{/section}

<!--section循環(huán)適用于純int型鍵值的數(shù)組-->
<!--給loop賦一個(gè)要循環(huán)的數(shù)組,start指定從數(shù)組指定鍵值開始循環(huán),step指定數(shù)組下次循環(huán)的鍵值與本次循環(huán)鍵值之差,max指定循環(huán)最大次數(shù),show指定是否循環(huán)false的話直接跳到執(zhí)行sectionelse-->
<!--Section的內(nèi)置變量與foreach 相同-->
*/

/*
tpl模板文件:
{literal}
<script type="text/javascript">
function a(){
    alert("this is script");
}
a();
</script>
{/literal}
{*
literal 標(biāo)簽區(qū)域內(nèi)的數(shù)據(jù)將被當(dāng)作網(wǎng)頁html文本處理,此時(shí)模板將忽略且不分析其內(nèi)部的所有字符信息。
該特性用于顯示有可能包含大括號等字符信息的 js、css 。當(dāng)這些信息處于 {literal}{/literal} 標(biāo)簽中時(shí),模板引擎將不分析它們,而直接顯示。
*}
*/



//PHP文件:
//$smarty->setDebugging(true);//對后續(xù)調(diào)用的模板進(jìn)行調(diào)試。
//$smarty->getDebugging();//得到當(dāng)前是否進(jìn)行調(diào)試,默認(rèn)false
//或在需要調(diào)試的模版中寫入{debug}

/*
模板文件:
smarty3.0支持了模版繼承系統(tǒng),例如
f1.tpl:
<html>
<body>
{block name="top"} f1.header<br />{/block}
{block name="middle"} f1.middle<br />{/block}
{block name="buttom"} f1.buttom<br />{/block}
</body>
</html>

f2.tpl:
{extends file="f1.tpl"}
{block name="top"} f2.header<br />{/block}
{block name="other"} it can`t be show <br />{/block}
{*
如果f2.tpl中沒有block標(biāo)簽,或f2.tpl中沒有和f1.tpl中相同命名的block標(biāo)簽,則f2.tpl完整引入顯示f1.tpl中所有內(nèi)容包括block標(biāo)簽的內(nèi)容,而f2.tpl中所有內(nèi)容將忽略
如果f2.tpl中有和f1.tpl中同名block標(biāo)簽,則在f2.tpl顯示時(shí)f2.tpl中block標(biāo)簽內(nèi)容將覆蓋f1.tpl中同名block標(biāo)簽的內(nèi)容,在f2.tpl頁面顯示時(shí),內(nèi)容仍將按f1.tpl設(shè)置的格式位置顯示,f2.tpl其他所有文本包括未同名的block標(biāo)簽及其內(nèi)容都將被忽略,不顯示。
block標(biāo)簽的內(nèi)容只會(huì)覆蓋父模版中同名block標(biāo)簽的內(nèi)容,或在子模版中顯示,在本頁面中如果沒有調(diào)用父模版或父模版中沒有要覆蓋的同名block標(biāo)簽,block標(biāo)簽內(nèi)容在本頁面中不顯示
這種繼承支持多文件,多重繼承,意味著可以無限的繼承下去
*}

{fetch file="http://www.xxx.com" assign="testAssign"}
{$testAssign}
{fetch file="http://www.xxx.com"}
{*fetch可以引用外部http,ftp的頁面,如指定assign的值則把引用的內(nèi)容存在指定名的變量中,否則在哪有fetch在哪顯示*}
*/

//php頁面:
//調(diào)用模版也可以使用此方法,在輸出前做一些處理
//$output = $smarty->fetch("index.tpl");
//do something with $output here對將要輸出的內(nèi)容進(jìn)行處理
//echo $output;//然后將模板輸出

/*
模板中提交表單
<form name="input" action="file.php" method="post">
action屬性可以直接寫要提交到的php文件名,或者不寫空action=""則提交到調(diào)用該模板的php文件中
*/

//連接數(shù)據(jù)庫
mysql_connect("localhost","root","root");
mysql_select_db("test");
$smarty->assign("webDir",$_SERVER["DOCUMENT_ROOT"]);//$_SERVER["DOCUMENT_ROOT"]為當(dāng)前項(xiàng)目文件夾的絕對路徑
//配置JQuery的src路徑最好寫絕對路徑或?qū)懸\(yùn)行文件能找到該JQuery的相對路徑因?yàn)橐幾g成編譯文件,而編譯后的文件和原路徑環(huán)境不一樣
?>

標(biāo)簽: PHP smarty 模板
相關(guān)文章:
主站蜘蛛池模板: 亚洲国产婷婷香蕉久久久久久 | 日韩欧美一中文字暮专区 | 婷婷久久综合九色综合88 | 亚洲a无码综合a国产av中文 | 黄色午夜 | 国产免费破外女真实出血视频 | 学生粉嫩无套白浆第一次 | 波多野结衣在线播放视频 | 精品一区二区三区毛片 | 国产强伦人妻毛片 | 欧美巨大巨粗黑人性aaaaaa | 成在线人免费视频 | 一个人看的www日本高清视频 | 欧日韩视频 | 我把护士日出水了视频90分钟 | 久久精品亚洲日本波多野结衣 | 夜夜嗨av一区二区三区四区 | 性欧美18-19sex性高清播放 | www污污| 婷婷六月综合网 | 欧美在线v | 国产真实偷伦视频 | 狠狠色丁香婷婷综合 | 国产特黄特色大片免费视频 | 石原莉奈av调教中文字幕 | 亚洲国产精品无码久久 | 欧美丰满少妇xxxxx | 国产成人艳妇aa视频在线 | 日韩免费中文字幕 | 黄色影片在线看 | av在线免播放器 | 日本道中文字幕 | 一级国产航空美女毛片内谢 | 国产 精品 自在自线 | 亚洲影院一区 | 久久久精品波多野结衣 | 青青草伊人久久 | 操日本女人 | 毛片大全免费 | 欧美黑人性xxx | 欧美孕妇与黑人孕交 | 亚洲第一成年人网站 | 国产精品高清一区二区三区 | 欧美性生活xxx | 久久综合精品国产丝袜长腿 | 国产熟妇高潮呻吟喷水 | 午夜大尺度做爰激吻视频 | √新版天堂资源在线资源 | 亚洲男人av天堂午夜在 | 人妻巨大乳一二三区 | 又粗又硬的毛片aaaaa片 | 久久久久久毛片免费播放 | 欧美性猛交xxxx乱 | 亚洲第一色区 | 欧美三级在线观看视频 | 天堂а√在线最新版中文在线 | 欧美三日本三级少妇99印度 | 国产免费拔擦拔擦8x网址 | 东北女人啪啪对白 | 国产精品成人av性教育 | 五月天婷婷免费视频 | 成人a v视频在线观看 | 欧美亚洲一 | 亚洲精品一品区二品区三品区 | www.偷拍.com| 欧美精品乱码 | 国产精品免费福利 | 我想看一级黄色毛片 | 免费看黄色片的网站 | 色久在线| 小伙和少妇干柴烈火 | 中文字幕无码人妻aaa片 | 婷婷综合影院 | 黄频在线观看 | 成人免费乱码大片a毛片软件 | 男ji大巴进入女人的视频小说 | 亚洲一区二区三区高清 | 国产精品卡一卡二卡三 | 国产69精品久久久久男男系列 | 国产在线a视频 | 日韩精品极品视频在线观看免费 | 在线观看黄色网页 | 啪啪免费网站 | 性一交一黄一片 | 欧美国产一区二区 | 日韩美女中文字幕 | 人人干在线 | 国产成人无码一区二区在线播放 | 国产亚洲不卡 | 欧美精品一区视频 | 久久中文一区二区 | av黄色小说 | 天天碰视频 | 人人综合亚洲无线码另类 | 中文字幕一区二区免费 | 天天射天天干天天舔 | 美女尻逼视频 | 农村妇女毛片精品久久久 | 久久免费看毛片 | 女朋友闺蜜奶好大下面好紧视频 | 日本xxxx丰满人妖学校 | 日本少妇又色又爽又高潮看你 | 日韩毛毛片 | 色婷婷国产精品 | 日日爱669| 人妻体内射精一区二区三四 | 亚洲精品白浆高清久久久久久 | 国产日韩欧美视频在线观看 | 中文在线www | 一级做性色a爱片久久毛片欧 | 在线播放亚洲第一字幕 | 欧美另类极品videosbest使用方法 | 精品国产一区二区三区蜜殿 | 久久久精品欧美一区二区免费 | 老司机亚洲精品 | 日本三级日产三级国产三级 | 马与人黄色毛片一部免费视频 | www.国产精品视频 | 国产99久久精品一区二区 | 中文字幕制服狠久久日韩二区 | 黄色国产网站 | 长腿校花无力呻吟娇喘的视频 | 17c在线视频 | 亚洲国产一二三精品无码 | 精品无码国产一区二区三区av | 在线免费观看视频你懂的 | 性少妇中国内射xxxx狠干 | 日日噜狠狠噜天天噜av | 嫩b人妻精品一区二区三区 色噜噜亚洲男人的天堂 | 亚洲2022国产成人精品无码区 | av毛片久久 | 国产伦精品一区二区三区高清 | 免费一级日韩欧美性大片 | 大肉大捧一进一出好爽视频 | 欧洲午夜精品久久久久久 | 永久免费黄色片 | 中文字幕精品一区二区三区精品 | 成人在线精品视频 | 国产高清99 | 日本热久久 | 亚洲人成一区二区 | 日本精品一区二区三区四区 | 婷婷丁香五月天综合东京热 | 一本加勒比hezyo东京图库 | 国产精品特级毛片一区二区三区 | 午夜aaa| 欧美一区亚洲一区 | 亚洲欧美日韩一区 | 精品在线一区二区三区 | 日韩人妻系列无码专区 | 日韩欧美不卡 | 国产三级高清 | 黄频在线 | 黄色片在线免费观看视频 | 精品国产第一国产综合精品 | 99re国产在线 | 日韩不卡的av | 大肉大捧一进一出好爽视频动漫 | av丝袜在线 | 中国女人内谢69xxxx喜欢你 | 国产经典久久久 | 伊人激情网| 日韩欧美网 | 成人免费毛片东京热 | 播放男人添女人下边视频 | 色片网站在线观看 | 久久精品亚洲中文字幕无码网站 | 国产v亚洲v天堂无码 | 伊人精品在线视频 | 亚洲国产成人精品片在线观看 | 日韩av麻豆 | 国产综合有码无码中文字幕 | 久久久久免费看黄a片app | 777色狠狠一区二区三区 | 欧美a免费| 国产福利片在线 | 欧美日韩亚洲激情 | 亚洲天堂99 | 亚洲欧美日韩精品久久亚洲区 | 爱啪啪影视 | 这里只有精品久久 | 精品视频免费看 | 91色| 亚洲久爱| 东方伊甸园av在线 | 娇小发育未年成性色xxx8 | 亚洲午夜精品一区二区 | 久久九九国产视频 | 欧美永久视频 | 真人啪啪高潮喷水呻吟无遮挡 | 国产精品美女久久久久久久久 | 98视频精品全部国产 | 色哟哟av | 波多野结衣国产在线 | 国产欧美一区二区三区不卡视频 | 久操久操| 91精品国产高清一区二区三区蜜臀 | 欧美伦乱 | 欧美一区二区三区久久综合 | baoyu119.永久免费视频 | 91久久精品视频 | 国产精品高潮视频 | 色噜噜一区二区三区 | 国产jjizz一区二区三区视频 | 喷水少妇| 欧美午夜三级 | 亚洲色图在线播放 | 国产又粗又黄又爽又硬的免费视频 | 成年人毛片 | 久久久久99精品成人片牛牛影视 | 三级毛片国产三级毛片 | 一区二区三区回区在观看免费视频 | а天堂中文最新一区二区三区 | 成人妇女免费播放久久久 | 欧美日韩在线播放视频 | 国产欧美一区二区精品久久久 | 亚洲国产v | 午夜精品一区二区三区免费视频 | 一本色道久久综合狠狠躁的推荐 | 成人免费看片在线观看 | 久久久精品动漫 | 国产爽爽久久影院潘金莲 | 4438xx亚洲五月最大丁香 | 尤妮丝大尺度av在线播放 | 夜夜嗨av一区二区三区免费区 | av黄色免费观看 | 一区二区国产精品精华液 | 久久激情免费视频 | 亚洲欧美小视频 | 中文字幕丰满伦孑 | 国产精品免费久久 | 四虎综合网 | 国产女人18毛片18精品 | av中文资源| 亚洲国产一区精品 | 狠狠做六月爱婷婷综合aⅴ 狠狠做深爱婷婷综合一区 狠久久 | 91精品国产色综合久久不卡98 | 精品视频免费播放 | 柳岩高潮三级a观看 | 精品一区二区三区在线播放视频 | 日日干夜夜爱 | 成人羞羞视频免费看看 | 国产亚洲综合一区二区 | 欧美日韩在线观看精品 | 欧美日韩亚洲国产另类 | 无码人妻精品一区二 | av在线专区| 91在线| 日本在线免费观看 | 开心五月激情综合婷婷 | 日本成人黄色片 | 91精品久久久久久久99软件 | 国产精品久久久久久52avav | 韩国不卡av | 亚洲第一天堂av | 久久九九久精品国产免费直播 | 免费看毛片网站 | 国产精品99久久久久久人免费 | 国产精品国产三级国产aⅴ中文 | 尹人香蕉久久99天天拍 | 日韩黄色片免费看 | 强辱丰满人妻hd中文字幕 | 777精品久无码人妻蜜桃 | 免费男人和女人牲交视频全黄 | 日本三级免费片 | 天天干天天噜 | 免费av看| 青青青国产 | 中出乱码av亚洲精品久久天堂 | 午夜影院在线免费观看 | 精品一区在线视频 | 精品国产青草久久久久福利 | 色拍自拍亚洲综合图区 | 欧美性在线视频 | 日日噜噜夜夜狠狠久久丁香五月 | 久久特级毛片 | 国产精品第7页 | 国产精品自拍av | 美女胸又黄又水 | 成人性色生活片免费看l | 理论片午午伦夜理片久久 | 久久99精品久久久久子伦 | 五月花综合网 | av大西瓜| 欧美白人最猛性xxxxx | 爱爱网站免费 | 视频一区二区欧美 | 天天爽天天爽夜夜爽毛片 | 精品人体无码一区二区三区 | 久久这里只有精品6 | 乱h高h翁欲渴 | 99精品久久久久久久久久综合 | 九色网战| 黄色91 | 美女狂揉羞羞的视频 | 国产美女精品人人做人人爽 | 日本高清aⅴ毛片免费 | 久久一卡二卡三卡四卡 | av无码a在线观看 | 日韩三级一区 | 中文无码一区二区不卡av | 图书馆的女友动漫在线观看 | 欧美精品一区二区蜜臀亚洲 | 丝袜+亚洲+另类+欧美+变态 | 一个人看的www视频免费观看 | 国内精品人妻久久毛片app | 久久久精品波多野结衣av | 黄网站欧美内射 | 亚洲欧美综合精品久久成人 | 亚洲视频播放 | www.天天色 | 99精品偷自拍 | 男女做www免费高清视频网站 | 精品国产乱码久久久久久久软件 | 明星换脸av一区二区三区网站 | 天天做天天看 | 日韩特黄一级片 | 成品片a人免费进入 | www日本在线视频 | 国产又粗又黄又爽 | 色综合久久久久久久久久 | 伊人成长网 | 亚洲成av人片在线观看无 | 久青草国产视频 | 国产偷窥熟妇高潮呻吟 | 国产精品入口牛牛影视 | 四虎国产精品一区二区 | 99国内精品久久久久久久 | 99re视频精品| 天天综合网天天综合色 | 国内免费av| 在线观看国产精品日韩av | 日批在线视频 | 色欲欲www成人网站 婷婷成人综合激情在线视频播放 | 久久噜噜 | 毛片免费在线观看视频 | 欧美精品123 | 在线观看肉片av网站免费 | 免费无码一区二区三区a片 亚洲欧美日韩国产成人 | 香港三日本8a三级少妇三级99 | 国产女18毛片多18精品 | 豆国产97在线 | 亚洲 | 在线看毛片的网站 | 欧美日韩亚洲在线观看 | 久久99久久久 | 99re这里都是精品 | 久久久999精品 | 国产精品无码无片在线观看 | 日日日噜噜噜 | 26uuu精品一区二区 | 国产xxxxx在线观看 | 婷婷四房综合激情五月在线 | 亚洲va在线va天堂va偷拍 | 91精品情国产情侣高潮对白文档 | 欧美性xxxx最大尺码 | 欧美激情欲高潮视频在线观看 | 欧美皮鞭调教wwwcom | 91插插插永久免费 | 开心色站 | 国产精品18久久久久久vr | 欧美日韩国内 | 日韩啪啪网站 | 天堂中文网在线 | 九九精品在线观看 | 无码av波多野结衣 | 午夜视频一区二区 | 国产无在线观看软件 | 中国一级女人毛片 | 91成人海角社区 | 亚洲区一区二区三区 | 日本久久高清视频 | 近伦中文字幕 | 日韩丰满少妇无吗视频激情内射 | 久久五月天婷婷 | 成年视频在线播放 | 三级理伦 | 激情aaa| 男女啪啪无遮挡 | 国产在线视频一区二区三区 | 日本高清免费视频 | 一二三四观看视频社区在线 | 欧美成人极品 | a级黄色片免费 | 国产精品理论片在线观看 | 一本大道久久 | 性无码一区二区三区在线观看 | 隣の若妻さん波多野结衣 | 色网站女女 | 欧美黑人孕妇孕交 | 亚州一二区 | 少妇白浆高潮无码免费区 | bbbbbxxxxx性欧美| eeuss鲁片一区二区三区在线观看 | 亚洲欧美国产精品久久久久久久 | 国产精品成人免费视频网站 | 日本不卡一区在线观看 | 亚洲va久久久噜噜噜久久狠狠 | 国产盗摄一区二区三区 | 国产欧美亚洲精品a | 国产男男同志互慰gvxxx | 无码一区二区三区在线 | 欧美日韩不卡在线 | 日本中文字幕一区二区有限公司 | 免费精品在线 | 中文字幕乱人伦高清视频 | 国产成人久久综合第一区 | 国内毛片毛片 | 激情黄色一级片 | 天堂在线资源网 | 天天天天天干 | 亚洲精品免费播放 | 国产夜色精品一区二区av | 欧美特黄一级大片 | 亚洲一区二区精品在线 | 亚洲第一综合天堂另类专 | 欧美三级少妇高潮 | 国产肉丝袜在线观看 | 亚洲精品国产综合久久久久紧 | 在线观看成人无码中文av天堂 | 四虎网站 | 精品国产免费一区二区三区 | 91草草草| 国产成人精品123区免费视频 | 少妇做爰α片免费视频网站 | 啪一啪在线 | 加勒比无码人妻东京热 | 欧美日韩理论片 | 亚洲最大综合网 | 欧美浓毛大泬视频 | 玉米地疯狂的吸允她的奶视频 | 精品成在人线av无码免费看 | 国产一线二线在线观看 | 都市激情亚洲综合 | 亚洲天堂一区在线观看 | 国产明星精品一区二区刘亦菲 | 三级做爰高清视频 | 狠狠躁夜夜躁人人爽天天不卡软件 | 好男人社区www在线官网 | 国内精品视频一区二区三区 | 成 人 黄 色 视频免费播放 | 国产自偷自拍 | 午夜不卡av免费 | 18禁止看的免费污网站 | 一性一交一口添一摸视频 | 免费看av的网址 | 99精品国产一区二区三区麻豆 | 久久久久久国产精品免费播放 | 欧美成人26uuu欧美毛片 | 国产精品久久久久桃色tv | 丰满少妇人妻久久久久久 | 国产好爽…又高潮了毛片 | 亚洲v欧美v另类v综合v日韩v | 可以直接看的毛片 | 中文字幕亚洲国产 | 国产一区二区三区内射高清 | 日本少妇喂奶视频 | 99国产精品白浆在线观看免费 | 一级黄色免费毛片 | 一级一级黄色片 | 蜜臀av免费一区二区三区 | 国产亚洲精品久久久久的角色 | 18pao国产成人免费视频 | 日日射av| 精品国产成人亚洲午夜福利 | 热久久网站 | 成年人毛片| 欧美视频在线免费 | wwwyoujizzcom偷拍| 91精品婷婷国产综合久久竹菊 | 性色做爰片在线观看ww | av福利影院 | 99在线精品免费视频 | 99国内精品久久久久久久夜夜嗨 | 欧美激情视频一区二区三区不卡 | 国产麻传媒精品国产av | 老女人性视频 | 色妞色视频一区二区三区四区 | 丰满少妇夜夜爽爽高潮水网站 | 日韩黄页在线观看 | 国产91福利在线观看 | 香蕉视频网址 | 韩国无码色视频在线观看 | 丰满少妇理论片在线观看 | 波多av在线 | 女人高潮叫三级 | 狠狠色狠狠色合久久伊人 | 草1024榴社区成人 | 免费成人黄色 | 欧美激情在线观看 | 91蜜桃在线| 大尺度做爰呻吟舌吻情头 | 国产精品入口免费视频一 | 精品久久久久亚洲 | 国产精自产拍久久久久久蜜 | 天天爱天天操 | 精品久久久久久久人人人人传媒 | 国产毛a片啊久久久久久保和丸 | 久久亚洲国产成人影院 | 无码人妻丰满熟妇啪啪 | 欧美日韩精品一区二区 | 国产a黄 | 综合天堂av久久久久久久 | 在线国产视频一区 | 国产日韩欧美一区二区三区乱码 | 国产精品骚| 欧美麻豆久久久久久中文 | 国产精品人成在线观看 | 无码人妻精品一区二区 | 亚洲欧美成人一区二区在线电影 | 国产a久久麻豆入口 | 天堂8中文在线最新版在线 拍真实国产伦偷精品 | 少妇扒开双腿自慰出白浆 | 亚洲视频在线免费播放 | 国产精品jk白丝蜜臀av小说 | 亚洲色成人www永久网站 | 少妇高潮灌满白浆毛片免费看 | 国产不卡在线播放 | 日韩av片无码一区二区不卡电影 | 成人在线观看h | 国产精品久久久久野外 | 免费三片在线视频 | 日日摸天天摸97狠狠婷婷 | 饥渴的少妇和男按摩师 | 黄色资源在线观看 | 看全色黄大色大片免费久久 | 最新国产乱人伦偷精品免费网站 | 国产免费观看久久黄av片 | 国产嘿咻 | 蜜臀中文字幕 | 久久视频免费在线观看 | 国产精品一品二区三区的使用体验 | 国产一二精品 | 亚洲性无码av在线 | 精品少妇3p | 亚洲第一色播 | 日本不卡视频在线 | 中文在线视频观看 | 亚洲情综合五月天 | 夜夜春亚洲嫩草影院 | 亚洲啊啊啊啊啊 | 欧美视频一区二区三区 | 中文字幕av片 | 免费一区二区在线观看 | 精品乱码久久久久久中文字幕 | 日本色网址 | 9999国产精品| 中文字幕人成乱码在线观看 | 中文字幕精品久久久久人妻红杏ⅰ | 久久妇女高潮喷水多 | 婷婷四房综合激情五月在线 | 黄色无遮挡网站 | 1000部无遮挡拍拍拍免费视频观看 | xxx黄色片 | 极品少妇一区 | 久久久综合亚洲91久久98 | 久久精品国产99久久无毒不卡 | 超碰中文在线 | 人妻丰满熟妇av无码区不卡 | 国产原创av在线 | 日韩美女做爰高潮免费 | 国产精品亚洲欧美 | 久久精品中文騷妇女内射 | 黄频在线 | 羞羞视频在线网站观看 | 国产夫妻性生活视频 | 久久香蕉精品视频 | av天天干| 国产九色蝌蚪 | 成人免费一区二区 | 嫩草一线产区和二线产区 | 日本少妇呻吟高潮免费看 | 911毛片| 亚洲看片lutube在线观看 | 无码粉嫩虎白一线天在线观看 | 嫩草yy | 免费看h网站 | 亚洲精品乱码久久久久久日本 | 国产在线精品二区 | 久久久久人妻一区精品色 | 毛片一二三区 | 精品久久久久久久久久岛国gif | 爽爽窝窝午夜精品一区二区 | 男女又爽又黄激情免费视频大 | 欧美久久久久久久久久 | 狠狠操天天射 | 中文字幕日韩精品有码视频 | 亚洲国产aⅴ成人精品无吗 欧洲熟妇色xxxx欧美老妇多毛网站 | 99久久精品国产片果冻的功能特点 | 日韩视频国产 | 探花系列在线观看 | 夜久久久| 丁香激情综合久久伊人久久 | 国产黄色免费观看 | jizz性欧美15| 亚洲性xx| 久久久久人妻一区二区三区 | 成人激情视频网站 | 日本妈妈9| 国产成人无码专区 | 性天堂网| 久久欧美国产伦子伦精品 | 亚洲老板91色精品久久 | www.黄色av| 丰满少妇高潮惨叫正在播放 | 拍拍拍产国影院在线观看 | 日本久久黄色 | 男女18禁啪啪无遮挡 | 亚洲精品.www| 成人性免费视频 | 哈利波特3在线观看免费版英文版 | 成人免费av网站 | 亚洲高清二区 | 亚洲九九九 | 欧美性色网 | 婷婷五月综合色视频 |