smarty 模板几个例子
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了smarty 模板几个例子相关的知识,希望对你有一定的参考价值。
一、assign和display方法的使用以及几个变量调节器
header("content-type:text/html;charset=utf-8");
//加载Smarty引擎文件
include "./smarty/Smarty.class.php";
//连接数据库,提取相关数据
$title = "Smarty 模板引擎";
$content = "Smarty 模板引擎Smarty 模板引擎Smarty 模板引擎";
//实例化Smarty
$smarty = new Smarty;
//通过assign方法给模板文件分配变量
$smarty->assign(‘title‘,$title);
$smarty->assign(‘content‘,$content);
//给模板分配一个数组变量使用
$person = array(‘自来也‘,33);
$smarty->assign(‘person‘,$person);
//给模板分配一个对象变量使用
class Person{
public $name;
public $age;
}
$per = new Person;
$per->name = ‘辉夜‘;
$per->age =555;
$smarty->assign(‘per‘,$per);
/** 变量调节器
*所谓的变量调节器其实就是变量修饰器,就是对PHP分配过来的变量加以“修饰”,也就是进行相关的格式化操作!然后再进行输出!
*不同的调节器有不同的名字,可以完成不同的功能,并且不同的调节器都有自己不同的参数!
{$变量名|调节器名:参数1:参数2:参数3……}
*
*如date_format
*作用:对时间戳进行格式化!参数有很多,但是主要的参数还是代表年月日时分秒的参数!
*{$变量名(时间戳)|date_format:‘%Y-%m-%d %H:%M:%S’}
*/
$time = time();
$smarty->assign(‘time‘,$time);
//去掉js和html等相关的标签!strip_tags
$str = ‘<b>六道</b>‘;
$smarty->assign(‘str‘,$str);
/**
*nl2br
*{$变量名| nl2br}
*作用:将字符串中的\n转换为<br />签,从而在显示的时候真正的实现换行的效果!
*/
$str1 = "广州市\n天河区";
$smarty->assign(‘str1‘,$str1);
/**truncate
*{$变量名|truncate:字符串长度:’…’}
*作用:只截取前多少多少的字符,后面用…代替!
*/
$str2 = "广州市天河区广州市天河区广州市天河区广州市天河区";
$smarty->assign(‘str2‘,$str2);
//通过display 方法替换模板中的标记并输出
$smarty->display(‘./templates/index1.tpl‘);
index1.tpl文件
<html>
<head>
<title>测试</title>
</head>
<body>
{*这里是注释内容,不会显示在浏览器端*}
{$title}<hr />
{$content}<hr />
{*模板标记是一个数组*}
姓名:{$person[0]}<br />
年龄:{$person[1]}<hr />
{*模板标记是一个对象*}
姓名:{$per->name}<br />
年龄:{$per->age}<br />
{*变量调节器 date_format 格式如下*}
变量调节器 date_format:{$time|date_format:‘%Y-%m-%d %H:%M:%S‘}<br />
{*变量调节器 strip_tags 格式如下*}
{$str|strip_tags}<br />
{*变量调节器 nl2br 格式如下*}
{$str1|nl2br}<br />
{*变量调节器 truncate 格式如下*}
{$str2|truncate:10:‘...‘}<br />
</body>
</html>
二、foreach遍历数组测试以及if elseif 例子
header("content-type:text/html;charset=utf-8");
//加载Smarty引擎文件
include "./smarty/Smarty.class.php";
//实例化Smarty
$smarty = new Smarty;
$arr = array(‘name‘=>‘辉夜‘,
‘age‘=>‘333‘,
‘home‘=>‘月亮‘,
‘son‘=>‘六道‘
);
$smarty->assign(‘arr‘,$arr);
$day = 4;
$smarty->assign(‘day‘,$day);
//通过display 方法替换模板中的标记并输出
$smarty->display(‘./templates/foreach.tpl‘);
foreach.tpl 文件
<html>
<head>
<title>foreach遍历数组测试</title>
</head>
<body>
{*
{foreach from=数组名 item=元素的值的名 key=元素的键名 name=名称}
{foreachelse}
{/foreach}
主要功能:用于数组元素的遍历!
from:要遍历哪个数组元素(必选项)
item:系统每次将遍历的结果放入到变量item中(必选项)
key:键名
name:给本次foreach遍历起一个名字
*}
{foreach from=$arr item=‘value‘ key=‘key‘ name=‘name1‘}
{$key}=>{$value}<br />
{/foreach}
{if $day==1}
星期1
{elseif $day==2}
星期2
{elseif $day==3}
星期3
{elseif $day==4}
星期4
{elseif $day==5}
星期5
{else}
周末
{/if}
</body>
</html>
以上是关于smarty 模板几个例子的主要内容,如果未能解决你的问题,请参考以下文章