Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)归海一刀
published in(发表于) 2014/2/17 7:40:42
smarty技术学习,修改php模板的一点体会_[PHP教程]

smarty技术学习,修改php模板的一点体会_[PHP教程]

smarty,最得名,用之,配置语法都是菜鸟级别的,没的说,先列一点我使用的:

<{foreach key=key item=MMSPAN from=TSortUrl}>


<{if mysort eq key}>
img src="images/sort_<{key}>_1.gif" height="25" border="0" />

<{else}>



<{/if}>

<{/foreach}>


如果在模板中需要有动态替换的,诸如用户登陆信息,最好的是调用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 = '}>';
/*


其中,常用的2个方法template_exists(f),用于检测f模板是否存在。fetch()用于返回已经被assign的模板的输出文件,在生成静态页面的时候很是有用。

看看smarty自身的chm文件说明,除了基本的几个语法,就看你的灵活使用了:

传参:

<{include file="SiteAllTop.html" mysort ="0" }>


获取系统参数:

<{if MMSPAN[0] eq smarty.get.s}>selected<{/if}>


清除一切html格式:

<{OReDetail[6]|strip_tags}>


注释:
{* Smarty *}

{* 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


正则使用:
{* 使用空格替换每个回车,tab,和换行符 *}
{articleTitle}
{articleTitle|regex_replace:"/[\r\t\n]/":" "}


格式化字符串:


{textformat wrap=40 indent=4}


日期比较例子:
<{if smarty.now|date_format:"%Y-%m-%d" eq MMSPAN[4]|date_format:"%Y-%m-%d"}>

<{/if}>






If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759