如果在模板中需要有动态替换的,诸如用户登陆信息,最好的是调用js
主要的参数配置是:
include_once(IncludeFile."/libs/Smarty.class.php");
$tpl = new Smarty();
$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 = }>;
/*
$tpl = new Smarty();
$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 = }>;
/*
其中,常用的2个方法template_exists($f),用于检测$f模板是否存在。fetch()用于返回已经被assign的模板的输出文件,在生成静态页面的时候很是有用。
看看smarty自身的chm文件说明,除了基本的几个语法,就看你的灵活使用了:
传参:
获取系统参数:
selected
清除一切html格式:
注释:
{* Smarty *}
{* include the header file here *}
{include file="header.tpl"}
{* include the header file here *}
{include file="header.tpl"}
数学运算符和截取:
{$foo|truncate:"`$fooTruncCount/$barTruncFactor-1`"}
日期格式化:
{$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"}
OUTPUT:
Feb 6, 2001
Tuesday, February 6, 2001
14:33:00
Feb 5, 2001
Monday, February 5, 2001
14:33:00
{$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"}
OUTPUT:
Feb 6, 2001
Tuesday, February 6, 2001
14:33:00
Feb 5, 2001
Monday, February 5, 2001
14:33:00
正则使用:
{* 使用空格替换每个回车,tab,和换行符 *}
{$articleTitle}
{$articleTitle|regex_replace:"/[ ]/":" "}
{$articleTitle}
{$articleTitle|regex_replace:"/[ ]/":" "}
格式化字符串:
{textformat wrap=40 indent=4}
日期比较例子: