介紹smarty模板

來源:互聯網
上載者:User
模板 PHP代碼:--------------------------------------------------------------------------------



以下的介紹是基於2.5版的,也不知有BUG沒,OS是win2000,php應該

4.1以後的就可以。,兄弟只是開發時使用過幾次,沒太深的研究,

介紹的在手冊上都能找到,如果有錯誤之處難免多包涵吧


smarty模板據說是php.net推薦使用的,據說功能比較強,據說速度

也不慢,據說用的人越來越多<img src=http://www.163design.net/p/b/"images/smilies/biggrin.gif" border="0" alt="">

官方網站smarty.php.net上面有論壇,有下載,有手冊。有你想要的一切,切入正題:
(-)安裝:
下載的包解壓後有三個下級目錄:模板檔案目錄是<libs> 其下有四個類檔案一個目錄.首先介紹最重要的:Smarty.class.php它應該是整個smarty模板的核心類,平時應用時也是跟它打交道,在你的應用程式目錄下建立以下目錄結構:
/app_1/smarty/libs
/app_1/smarty/templates_c
/app_1/smarty/templates
/app_1/smarty/configs

<libs>對應壓縮包下的libs目錄下面放smarty需要的類檔案
<templates>存放模板檔案,程式用到的模板檔案都放這裡
<configs>存放模屬性檔案,以後詳細說
<templates_c>存放"編譯"後的模板檔案,以後詳細說,些目錄需要設為777
<cache>存放緩衝的模板檔案

以上檔案名稱為smarty預設的檔案名稱,使用者可以指定不同的檔案名稱,如:guest_template_dir,admin_template_dir 等.如果不指定將使用以上檔案名稱
(二)使用:

設計範本:
1模板變數:{$變數名},如 {$color},{$type}
test_color.tpl
<font color={$color}>{$name}</font>
test_url.tpl
<a href="{$url}" target="{$target}">{$title}</a>

2也可以使用模板數組
test_array.tpl
{people.name}<br>
{people.sex}<br>
{people.money}<br>
3模板使用區塊列表
如:
user1 user1_sex user1_money
user2 user2_sex user2_money
user3 user3_sex user3_money

section.tpl
可以用表格格式化:
<TABLE>
{section name=user loop=$userList}
<TR>
<TD>{$userList[user].name}</TD>
<TD>{$userList[user].sex}</TD>
<TD>{$userList[user].money}</TD>
</TR>
{/section}
</TABLE>


<?php
//目前的目錄app_1下
//產生$smarty執行個體

require('smarty/lib/Smarty.class.php');
$smarty = new Smarty;

//指定功能目錄,可以自訂
$smarty->template_dir = 'smarty/templates';
$smarty->$compile_dir = 'smarty/template_c';

//為模板變數賦值 模板:color.tpl 放於smarty/templates下
//$smarty->assign('模板變數名','php內部變數');
//$smarty->display(模板檔案名稱);

$smarty->assign('color','red');
$smarty->assign('name','hello world');

//顯示模板
//輸出:<font color=red>helloworld</font>
$smarty->display('test_color.tpl');

//為模板陣列變數賦值,模板:test_array.tpl
//輸出:

//巴豆
//男
//a litte
$people = array('name'=>'巴豆','sex'=>'男','money'=>'a little');
$smarty->assign('people',$people);
$smarty->display('test_color.tpl');

//模板區塊
//{section name=user loop=$userList}
//section:標籤功能
//name:標籤名
//loop:迴圈數組
//功能迴圈輸出多行
//輸出:

//user1 user1_sex user1_money
//user2 user2_sex user2_money
//user3 user3_sex user3_money


$userList[] = array('name'=>'user1','sex'=>'user1_sex','money'=>'user1_money');
$userList[] = array('name'=>'user2','sex'=>'user2_sex','money'=>'user2_money');
$userList[] = array('name'=>'user3','sex'=>'user3_sex','money'=>'user3_money');

$smarty->assign('userList',$userList);
$smarty->display('test_section.tpl');
?>
暫時先寫這麼點都是最基本的東西了,代碼沒有測試,兄弟初次寫東西有出錯的地方一概不負責。
還有好多有意思的功能以後有機會再寫<img src=http://www.163design.net/p/b/"images/smilies/biggrin.gif" border="0" alt="">


相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。