找回密码
 立即注册
搜索
热搜: 栏目 标签
查看: 3669|回复: 0

smarty技术学习,修改php模板的一点体会

[复制链接]

18

主题

18

帖子

106

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106
发表于 2013-6-4 11:22:20 | 显示全部楼层 |阅读模式
smarty,最得名,用之,配置语法都是菜鸟级别的,没的说,先列一点我使用的:
<{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}>



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



格式化字符串:

{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>
回复

使用道具 举报

Archiver|手机版|小黑屋|爱站CMS社区

GMT+8, 2019-5-24 17:10 , Processed in 0.052505 second(s), 20 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表