Smarty3【二】模板标签里变量来源

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Tacks/article/details/85054689

在模板中,我们知道通过{$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#}

猜你喜欢

转载自blog.csdn.net/Tacks/article/details/85054689