总结一下Smarty的常用东东,以下在一般开发过程中经常用到:
Smarty目录:
/libs Smarty的功能类目录
/tempalates 模板文件目录
/templates_c 模板缓存文件目录
/configs 配置文件目录
/cache 缓存文件目录
载入Smarty功能类:
require('路径/Smarty.class.php');
$smarty = new Smarty;
自定义Smarty工作目录:
$smarty->template_dir = '路径/templates/';
$smarty->compile_dir = '路径/templates_c/';
$smarty->config_dir = '路径/configs/';
$smarty->cache_dir = '路径/cache/';
常用语法:
$smarty->assign('模板中的变量名', 值); //给模板中的变量赋值(可以是数组或对象)
$smarty->display('模板文件名'); //输出模板
$html = $smarty->fetch('模板文件名'); //取得输出的HTML内容
$smarty->clear_all_cache(); //清除所有模板缓存
$smarty->clear_all_assign(); //清除所有赋值
$smatry->is_cached('模板文件名'); //模板是否已经被告缓存
缓存:
$smarty = new Smarty;
$smarty->caching = 2; //缓存设置,值为: 0,关闭缓存(默认) 1,开启缓存(缓存默认时间为3600秒) 2,指定缓存的时间
$smarty->cache_lifetime = 3600; //设置缓存时间,单位秒。
$smarty->display('index.tpl');
常用标签语法:
所有的smarty模板标签都被加上了定界符, 默认情况下是 { 和 }
注释:{* 注释内容 *}
函数调用:{$变量或值|函数名[: 参数值1][:参数值2]}
变量: {$变量名}
数组: {$数组名.元素名} 或 {$数组名.[元素索引]}
对象:{$对象名->属性名}
从配置文件引用的变量:
配置文件名为: *.conf
在模板中引入:{config_load file="配置文件名.conf"}
在模板中的变理标签:{#变量名#}
'{'字符的标签: {ldelim}
'}'字符的标签: {rdelim}
原文输出:{literal}{/literal} 里面的文本内容将不会被模板引擎解析,原样输出
在模板中直接写PHP语句: {php}php语句;{/php}
条件:
为了简单,条件表达式与PHP中相同即可.
{if 条件表达式1}
内容1
[{elseif 条件表达式2}
内容2
{else}
内容3]
{/if}
循环:
{foreach from=$数组名 item=当前处理元素的变量名称[ key=当前处理元素的键名][ name=用于嵌套中的名称必须唯一]}
循环体...
{$当前处理元素的变量名称} {* //遍历数组时元素的引用 *}
{/foreach}
模板嵌套:
{include file="路径及模板文件名"}