CMS内置API接口参数说明
UsualToolCMS模板语法概要:
UsualToolCMS模板语法是采用程序与模板分离技术而诞生的一种简单的快速读取数据的语法。
一、写入与读取数据
1 runin单字段输出自定义单数据:给单字段赋予一个值
例子:runin('webplace','首页')
取值:<{$webplace}>
2 runin单字段输出数组:给单字段赋予一个标准数组
例子:runin("goodscats",array('classname'=>'分类名称','id'=>'1'))
取值:
<{loop $goodscats $goodscat}>
<{$goodscat=>classname}>,<{$goodscat=>id}>
<{/loop}>
3 runins多字段数组输出数组:同时给多个字段单独赋值
例子:runins(array("title","content"),array("标题","内容"))
取值:<{$title}>,<{$content}>
runins方法是对runin单字段输出单数据(第1项)的补充,满足同时输出多个自定义单数据。
4 直接应用PHP语句
形式:<{php=>PHP语句无须闭合}>
例子:<{php=>$class=UsualToolCMSDB::queryData("cms_info_cat","classname","id='".return $infolists=>catid."'","","")["querydata"][0];echo $class['classname'];}>
此方法即可在模板中运行一段PHP语句。
5 根据模板值,返回一个可供查询的PHP方法值
形式:return 模板值
例子:return $infolists=>catid
因为模板值是不可直接运用到PHP语法当中的,那么根据模板值$infolists=>catid返回一个可供PHP运行查询的值就非常必要。本法一般与第4法合并使用。
二、基础语句
1 runin输出数据,取变量前n个字符:
<{loop $ab $abs}>
<{substr=>$abs=>a,0,20}>
<{/loop}>
其中0,20表示截取从第1位至第20位的字符串,即显示前20个字符。
而runins语法则如下:
<{substr=>$a,0,20}>
2 分页语法如下:
<{page=>total,curpage}>
分页是固定语法,后台设置每多少条分页,调用此语法即可自动分页。
3 模板路径
若使用模板中的图片或样式等文件,必须应用模板路径:<{$temproot}>。
4 封装函数调用
<{usualtoolcms=>iTree("article",0)}>
usualtoolcms=>必须,后面跟调用函数,例子为调用文章分类。
5 封装数据直接输出
<{usualtoolcmsdb=>modTable("cms_articile")}>
usualtoolcmsdb=>后跟调用数据的函数,例子为判断cms_articile是否存在,若存在返回TRUE
三、判断语句:示例判断不为空,可使用原生PHP语法
1 runin插入的数据,判断语句使用时:
<{loop $ab $abs}>
<{if !empty($abs["a"])}>
<{$abs=>a}>
<{else}>
<{$abs=>b}>
<{/if}>
<{/loop}>
2 runins插入的数据,判断语句使用时:
<{if !empty($a)}>
<{$a}>
<{else}>
<{$b}>
<{/if}>
四、根据分割符循环输出值:
1 当使用runin方式读取数据,并获取到值位数组的情况下,我们要把值进行分割,方式如下:
通过<{$ab=>a}>runin方式获取到a的值为数组,我们要循环输出被分割符分割的值。
<{splits=>$ab=>a=>all}>
<{splits=>all}>
<{/splits}>
此方法即可获取所有的分割值并循环输出。
<{splits=>$ab=>a=>0}>
此方法获取到b值中被分割的第一个值。
2 当使用runins方式读取数据,并获取到值位数组的情况下,我们要把值进行分割,方式如下:
通过<{$a}>runins方式获取到a的值为数组,我们要循环输出被分割符分割的值。
<{splitarrone=>a}>
<{splitarrone=>a=>all}>
<{/splitarrone}>
此方法即可获取所有的分割值并循环输出。
当取出分割的第一个值时,使用以下语句:
<{splitarrone=>a=>one=>0}>
而同时要获取a和b两个数组的分割值并循环输出的就要使用以下语法:
<{splitarr=>a,b}>
<{splitarr=>a}>:<{splitarr=>b}>
<{/splitarr}>
此方法即可同时循环输出a和b的分割值。
五、自定义菜单状态(背景色)
使用示例:class="<{nav:currentpage,inavt=>linkurl,active}>"
此语法能在模板中实现菜单背景色着重。
currentpage 表示模板输出的当前页链接
inavt=>linkurl 表示模板输出的菜单链接,当为顶部菜单时为tnavt=>linkurl,底部菜单为bnavt=>linkurl
active 为自定义CSS CLASS值,当前值为active
完整循环输出自定义菜单,并给当前页当前菜单着重背景等效果:
<{loop $inavs $inavt}>
<li class="<{nav:currentpage,inavt=>linkurl,active}>"><a href="<{$inavt=>linkurl}>"><{$inavt=>linkname}></a></li>
<{/loop}>
六、多国语言本地化
基本语法:<{lang=>固定参数}>、<{lang::元素=>键值}>
例如:输出固定参数index的多国语言转换结果 <{lang=>index}>
例如:在<{loop $ab $abs}>此类输出中,转化数组中某个元素键值的结果 <{lang::$abs=>linkname}>
前端列出语言选择列表,固定语句:
<{loop $langdata $langdatas}>
<a href="javascript:void(0);" onclick="clickLang('<{$langdatas=>langtype}>')"><{$langdatas=>langname}></a>
<{/loop}>
或者:
<select onchange="return changeLang()" id="utcmslanguage">
<{loop $langdata $langdatas}>
<option value="<{$langdatas=>langtype}>"><{$langdatas=>langname}></option>
<{/loop}>
</select>
<style type="text/css">
#utcmslanguage{width:80px;overflow-x:hidden;border-color:#fff;appearance:none;-moz-appearance:none;-webkit-appearance:none;}
#utcmslanguage option{width:80px;overflow-x:hidden;}
</style>
<script>$("#utcmslanguage").val(getCookie("UTCMSLanguage"));</script>
七、引用插件
在模板中引用插件:<{usualtoolcms:plugins:插件标志,引用页名}>
在脚本中引用插件:<?php UsualToolCMS::plugins("插件标志","引用页名");?>