smarty,最得名,用之,配置語法都是菜鳥級(jí)別的,沒的說,先列一點(diǎn)我使用的:
<{foreach key=key item=MMSPAN from=TSortUrl}>
<td align="left" valign="bottom" height="25">
<{if mysort eq key}>
img src="images/sort_<{key}>_1.gif" height="25" border="0" />
<{else}>
<a href="<{MMSPAN}>"><img src="images/sort_<{key}>.gif" height="25" border="0" /></a>
<{/if}></td>
<{/foreach}>
如果在模板中需要有動(dòng)態(tài)替換的,諸如用戶登陸信息,最好的是調(diào)用js
主要的參數(shù)配置是:
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 = '}>';
/*
其中,常用的2個(gè)方法template_exists(f),用于檢測(cè)f模板是否存在。fetch()用于返回已經(jīng)被assign的模板的輸出文件,在生成靜態(tài)頁(yè)面的時(shí)候很是有用。
看看smarty自身的chm文件說明,除了基本的幾個(gè)語法,就看你的靈活使用了:
傳參:
<{include file="SiteAllTop.html" mysort ="0" }>
獲取系統(tǒng)參數(shù):
<{if MMSPAN[0] eq smarty.get.s}>selected<{/if}>
清除一切html格式:
<{OReDetail[6]|strip_tags}>
注釋: {* Smarty *}
{* include the header file here *}
{include file="header.tpl"}
數(shù)學(xué)運(yùn)算符和截?。?br /> {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
正則使用: {* 使用空格替換每個(gè)回車,tab,和換行符 *}
{articleTitle}
{articleTitle|regex_replace:"/[/r/t/n]/":" "}
格式化字符串:
{textformat wrap=40 indent=4}
日期比較例子: <td><{if smarty.now|date_format:"%Y-%m-%d" eq MMSPAN[4]|date_format:"%Y-%m-%d"}>
<img src="images/newh.gif" />
<{/if}></td>