ICMS模板标签与基本语法及标签生成器
iCMS 使用了Smarty简化版的template_lite模板引擎,并做了相关的优化
7.0后版本文档
iCMS
的模板系统在Template Lite
基础上修改而来!
Template Lite是一个非常快而且很小HTML模板引擎,兼容大部分Smarty
语法.
在此强大的基础上,做了很多优化,并增加了自己独有调用方式发展而来!
所以iCMS
的模板语法跟smarty其实是差不多的
Smarty
模板边界符
iCMS
使用了<!--{}-->
做为边界符
模板标签
有如下几种形式
-
变量
-
多个变量联接
-
变量为数组
属性为数组的键名
-
键名为数字
-
变量的属性为数组
- 调用iCMS特有函数
这种方式一般没有赋值到变量都是直接输出结果
如果有结果赋值到变量,都是以函数名命名的变量
结果赋值到<!--{$函数名}-->
结果一般是数组类型
可以使用print_R
查看所有属性<!--{$函数名|print_R}-->
-
示例:1.直接输出
结果输出:
http://www.ooxx.com/public/api.php?app=public&do=seccode
-
示例:2.无输出,结果赋值到变量
结果赋值到
<!--{$config}-->
可以使用print_R
查看所有属性<!--{$config|print_R}-->
-
调用iCMS应用方法
- 无循环,结果直接输出或者赋值到($应用名_方法)
类似上面说到的调用iCMS特有函数
的方法
返值一般是数组类型
- 示例1
<!--{iCMS:public:qrcode data="二维码"}-->
- 示例2
<!--{iCMS:public:ui}-->
- 示例3:调用栏目cid=1的信息
<!--{iCMS:category:array cid="1"}-->
结果赋值到<!--{$category_array}-->
,可以使用print_R
查看所有属性<!--{$category_array|print_R}-->
- iCMS应用类标签(循环)无别名
示例:
-
iCMS应用类标签(循环) 有as (别名) 的情况下
示例:
-
注: 在包含有 loop='循环标示符' 的
<!--{iCMS:aaa:bbb}-->
标签中,
一定要以<!--{/iCMS}-->
结尾
基本语法
判断 if
模板文件中可以使用if else等判断语句
==
,!=
,>
,<
,<=
,>=
这些是
if
中可以用到的比较。看看就能知道什么意思吧。
<!--{if}-->
必须和 <!--{/if}-->
成对使用
例子
取模判断
示例:每个li 两组数据
循环遍历数组 foreach
<!--{foreach}-->
必须和<!--{/foreach}-->
成对使用,且必须指定from
和value
属性。from
需要遍历的数组value
在每次循环中被赋给变量key
,start
,end
属性可选key
索引start
开始行end
结束行
循环 for
模板内简单计算
注:需要加上双引号
模板中赋值
模板中简单三元表达
有表达式时 需要加双引号
模板中,定义一个颜色数组,随机循环
模板中定义一个数组
模板中引用赋值
变量前加&
7.0前版本文档
模板标签
模板标签生成器
有如下几种形式
<!--{$变量名称}-->
<!--{$变量名称.属性}-->
<!--{$变量名称.属性.属性}-->
<!--{iCMS:函数 参数='值'}-->
<!--{iCMS:应用名:函数 参数='值'}-->
调用 <!--{$变量名称(应用名_函数).属性}-->
<!--{iCMS:应用名:函数 loop='循环标示符' 参数='值'}-->
<!--{$应用名_函数.属性}-->
<!--{/iCMS}-->
有as (别名) 的情况下
<!--{iCMS:应用名:函数 loop='循环标示符' as="别名" 参数='值'}-->
<!--{$别名.属性}-->
<!--{/iCMS}-->
基本语法
判断 (if)
模板文件中可以使用if else等判断语句
==
,!=
,>
,<
,<=
,>=
这些是if中可以用到的比较。看看就能知道什么意思吧。
<!--{if $name=="iCMS"}-->
Hello World
<!--{elseif $name=="idreamsoft"}-->
idreamsoft.com
<!--{else}-->
Welcome
<!--{/if}-->
循环遍历数组 (foreach)
foreach 必须和 /foreach 成对使用,且必须指定 from 和 value 属性。
key,start,end 属性可选
key 索引
start 开始行
end 结束行
<!--{foreach key=key value=alist from="$article_list"}-->
<!--{$key}-->
<a href="<!--{$alist.url}-->"><!--{$alist.title}--></a>
<!--{/foreach}-->
模板内简单计算
<!--{$key+1}-->