smarty,最得名,用之,配置语法都是菜鸟级别的,没的说,先列一点我使用的:
php代码:
如果在模板中需要有动态替换的,诸如用户登陆信息,最好的是调用js
主要的参数配置是:
php代码:
其中,常用的2个方法template_exists($f),用于检测$f模板是否存在。fetch()用于返回已经被assign的模板的输出文件,在生成静态页面的时候很是有用。
看看smarty自身的chm文件说明,除了基本的几个语法,就看你的灵活使用了:
传参:
<{includefile="SiteAllTop.html" mysort="0"}>
获取系统参数:
<{if$MMSPAN[0]eq$smarty.get.s}>selected<{/if}>
清除一切html格式:
<{$OReDetail[6]|strip_tags}>
注释:
php代码:
数学运算符和截取:
php代码:
{$foo|truncate:"`$fooTruncCount/$barTruncFactor-1`"}
日期格式化:
php代码:
OUTPUT:
php代码:
正则使用:
php代码:
格式化字符串:
{textformatwrap=40indent=4}
日期比较例子:
php代码:
<{if$smarty.now|date_format:"%Y-%m-%d"eq $MMSPAN[4]|date_format:"%Y-%m-%d"}>
<{/if}> |
{*使用空格替换每个回车,tab,和换行符*}
{$articleTitle}
{$articleTitle|regex_replace:"/[
]/":""}
Feb6,2001
Tuesday,February6,2001
14:33:00
Feb5,2001
Monday,February5,2001
14:33:00
{$smarty.now|date_format}
{$smarty.now|date_format:"%A,%B%e,%Y"}
{$smarty.now|date_format:"%H:%M:%S"}
{$yesterday|date_format}
{$yesterday|date_format:"%A,%B%e,%Y"}
{$yesterday|date_format:"%H:%M:%S"}
{*Smarty*}
{*includetheheaderfilehere*}
{includefile="header.tpl"}
include_once(IncludeFile."/libs/Smarty.class.php");
$tpl=newSmarty();
$tpl->caching=false; //True开启缓存
//$tpl->compile_check=true;//确定以后不再编译模板,修改为false
$tpl->template_dir=IncludeFile."/templates/".Isite_tpl."/";
$tpl->compile_dir=IncludeFile."/templates_c/";
$tpl->config_dir=IncludeFile."/configs/";
$tpl->cache_dir=IncludeFile."/cache/";
$tpl->left_delimiter='<{';
$tpl->right_delimiter='}>';
/*
<{foreach key=key item=MMSPANfrom=$TSortUrl}>
<{if$mysorteq$key}> imgsrc="images/sort_<{$key}>_1.gif" height="25"border="0"/> <{else}>
<{/if}> |
<{/foreach}>