函数调用方法,如果你觉得这样写起来比较麻烦,也可以直接这样写:
{:substr(strtoupper(md5($name)),0,3)}
变量输出使用的函数可以支持内置的PHP函数或者用户自定义函数,甚至是静态方法。
系统自带的函数,一般在functions.php中 // C函数,获取配置名称 <title>{:C('WEB_SITE_TITLE')}</title> // U函数,获取URL地址 <a class="brand" href="{:U('index/index')}">OneThink</a>
自定义函数,一般定义在模块下common下的function.php或者公共模块common下的function.php中
Volist
模板中可以直接使用函数设定数据集,而不需要在控制器中给模板变量赋值传入数据集变量,如:
<volist name=":fun('arg')" id="vo">
{$vo.name}
</volist>
eq标签
<a href="{$nav.url|get_nav_url}" target="<eq name='nav.target' value='1'>_blank<else/>_self</eq>">{$nav.title}</a> // 读取session中的update变量
<eq name="Think.session.update" value="1">升级<else/>安装</eq></a></li> <eq name="Think.ACTION_NAME" value="mydocument">
If标签
<if condition="strpos($store_data['banner_id'],$vo['id'])!==false">class="selected"</if>
由于if标签的condition属性里面基本上使用的是php语法,尽可能使用判断标签和Switch标签会更加简洁,原则上来说,能够用switch和比较标签解决的尽量不用if标签完成。因为switch和比较标签可以使用变量调节器和系统变量。如果某些特殊的要求下面,IF标签仍然无法满足要求的话,可以使用原生php代码或者PHP标签来直接书写代码。 /*****字符串长度 / 子字符串********、 <if condition="mb_strlen($vo['remark'],'utf8') lt 65"> {:mb_substr($vo['remark'],0,64,'utf8')} <else /> {:mb_substr($vo['remark'],0,64,'utf8')}... </if>
<if condition="abslength($vo['remark']) lt 102"> {:csubstr($vo['remark'],0,102,'utf8')} <else /> {:csubstr($vo['remark'],0,100,'utf8')}... </if>
U函数(生成url)
标签组合应用
9、gt标签
<gt name="three_menu['allow_publish']" value="0">
10、present标签
<present name="three_menu['_child']">