rpcms系统的模板标签使用大众化的{ }来作定界符,不需要开发者重新学习新的标签,遵循国内开发者的习惯。模板标签使用起来也很简单,{ 和 }中间包含标签变量即可。1、字符串变量输出hello&
rpcms系统的模板标签使用大众化的{ }来作定界符,不需要开发者重新学习新的标签,遵循国内开发者的习惯。
模板标签使用起来也很简单,{ 和 }中间包含标签变量即可。
1、字符串变量输出
hello {$name}
如果$name定义的内容是“rpcms”,那么运行后就会显示“hello rpcms”
注意:{ 和 } 直接不能有空格或换行,否则视为无效标签,模板渲染会原样输出
2、数组变量输出
hello {$data['name']},{$data['message']}
在数组上rpcms保留了php原始的写法,方便开发者记忆。
3、变量使用默认值
hello {$name|default='rpcms'}
在变量没有定义或者为空的时候,会使用default设置的默认值。
4、变量使用函数
hello {$name|base64_encode}
将会对$name变量进行base64_encode处理。
如果函数有多个参数,传递的变量用 ### 表示,参数之间用 , 隔开,如:
{$createTime|date='Y-m-d',###}
如果变量是函数的第一个参数,则###可以省略不写,如:
{$title|substr=0,1}
当然,也可是使用多个函数,如:
{$title|substr=0,1|base64_encode|md5}
将会对$title变量先substr,在base64_encode,最后md5
函数也可以和默认值同时使用,这里注意了,因为默认值使用default表示的,所有在创建自定义函数的时候请勿重名。
{$title|default='rpcms'|md5}
5、定义变量
{$name='rpcms'}
定义了一个名称为name,值为rpcms的变量,该变量可以在当前模板页面中使用
6、常量或后台配置输出
{RP.is_develop}
模板渲染输出的时候会先判断是否定义了is_develop常量,如果没有定义则调用webconfig的配置数据
7、包含模板文件
{include:header} 支持使用变量 {include:$header}
使用该标签的时候注意,包含的模板文件和文件名称大小写保持一致,不需要带后缀名。
/ 相对引用在模板中和插件中表达的稍微有点区别,亲们不要搞混了哟,去看《模板标签中include文件时/相对引用的说明特别篇》了解详细。
(V2.5.2新增)include标签支持向引入的模板传递参数,支持变量和函数,如:
{include:$header param1="a" param2='b' param3="$title" param4=":funname()"}
8、执行函数
{:date('Y-m-d H:i:s')}
9、if判断
{if 表达式1} 真不错 {elseif 表达式2} 太棒了 {else} 努力哟 {/if}
rpcms的if标签,同样保留了php原生的if表达式写法。
10、三元运算
{$name ? $name : 'rpcms'}
11、运算符
目前rpcms暂时支持 + - * / % 后++ 后--
{$a + $b} {$a - $b} {$a * $b} {$a / $b} {$a % $b} {$a++} {$b--}
12、foreach遍历
{foreach $list as $k=>$v} key={$k++},value={$v} {/foreach}
13、for循环
{for $i=0; $i<10; $i++} i={$i} {/for}
14、执行钩子
{hook:hookName}
支持向钩子传递参数,如:
{hook:hookName($name,'test')}
支持传递参数的引用,如:
{hook:hookName(&$name,'test')}
15、原生PHP
{php}echo 'hello rpcms';{php}
16、switch(V2.5.2新增)
{switch $a} {case a|b|c}条件1{/case} {case $d false}变量条件2,不中断(break){/case} {case :fun()}函数条件3,默认中断{/case} {default /}条件4 {/switch}
17、block块(V2.5.2新增)
使用block标签的时候,系统会自动调用当前模板中的block.php文件,block的定义也是在这个文件中。
block标签中支持incldue以外的所有模板标签,如下定义了两个block:
<block id="name1"> 这里是html内容 </block> <block id="name2"> 这里是内容,可以使用标签,如{$title} </block>
在模板中可以通过block标签调用定义的block,如:
{block:name1}
18、内容原样输出
{$cashFiles|raw}
粉丝
0
关注
0
收藏
0