1. 程式人生 > >Smarty3【二】模板標籤裡變數來源

Smarty3【二】模板標籤裡變數來源

在模板中,我們知道通過{$var}的方式來直接顯示從php傳過去的值,那麼在模板顯示的標籤變數的來源到底有哪幾種方法?

一.從PHP指令碼中賦值過去

①直接利用assign方法 賦值字串

php頁面

//字串變數賦值
$smarty->assign('title','smarty3');

模板頁面直接利用{$title}即可獲取

②利用assign方法賦值 陣列

//常規方法
$user1 = array('name'=>'劉備','age'=>'20','weapon'=>'雙刀');
$smarty->assign('user1',$user1);
//也可以直接賦值
$user2 = array('key'=>'Tacks','value'=>'王小蟲');
$smarty->assign($user2);
//這樣就直接相當於
//$smarty->assign('key','Tacks')
//$smarty->assign('value','王小蟲')
-陣列 利用$user['name']訪問
姓名:{$user1['name']}
        年齡:{$user1['age']}
        武器:{$user1['weapon']}
-陣列 利用$user.name  訪問
姓名:{$user1.name}
        年齡:{$user1.age}
        武器:{$user1.weapon}

-數字 直接利用把鍵名當成變數名
{$key}:{$value}

③利用 append方法追加進去陣列

//append()把值追加到陣列
$smarty->append('user2','Mr.wang');
$smarty->append('user2','王先生');
{$user2.0}:{$user2.1}

二.smarty的系統保留變數

例如get 和post的值,可以直接根據{$smarty.get.id},還有其他很多系統變數

//例如get的值,以$smarty.開頭的標籤,當成系統變數來解析
//如{$smarty.get.id}    會解析成<?php echo $_GET['id'] ;?>
      id變數        {$smarty.get.id}

三.Smarty的配置檔案裡面的鍵值對

有些資料,比如內容底部的電話資訊,不想從資料庫讀取,可以直接寫到配置檔案裡,模板可以讀出配置檔案。

三步走:

①設定配置檔案的目錄

//從配置檔案讀取變數  設定配置檔案目錄
$smarty->config_dir = './config/';

②向配置檔案寫入資料

一般配置檔案是以.conf為字尾,然後裡面是以鍵=值的方式書寫例如

name=smarty3
value=配置檔案讀取變數

③在模板中使用配置檔案的變數

配置變數必須先載入配置檔案才能使用,這個配置檔案引入的時候是以配置檔案目錄相對下的set.conf。\

可以用{$smarty.config.var}   或者 {#var#}方式

{config_load file='set.conf'}
方法一獲取
 name配置 {$smarty.config.name}
 value配置 {$smarty.config.value}
方法二獲取
name配置{#name#}
value配置{#value#}