Smarty3【二】模板標籤裡變數來源
阿新 • • 發佈:2018-12-21
在模板中,我們知道通過{$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#}