JTBC-JSP版函数讲解二
导航: 上一页
- getString(String argString)
参数:argString, 字符串
作用:返回该字符串,当出现null值时返回空字符串。
- getSwitchOptions(String argKeys)
参数:argKeys, 关键字
作用:按照关键字中设定的值,取出指定的选项,这些选项预存在网站根目录下的 common/language/sel_switch.jtbc 文件中。
- htmlencode(String argString, String argType)
参数:argString, 字符串 argType(可选), 类型
作用:将字符串进行htmlencode编码。
- inavigation(String argStrings)
参数:argStrings, 复合参数型字符串(格式: "genre=articles;class=1" ...)
作用:按照指定的条件输出导航。
复合参数:
- genre: 设定需要调用数据所属的模块名(设置成&hidden时隐藏)。
- lng: 语言ID,调用这个语言下的记录。
- class: 类别的ID
- genrelink: 模块链接(设置成&hidden时隐藏链接)。
示例:
{$=inavigation("class={$-class}")} = 常用的有分类的默认导航
- ireplace(String argXInfostr, String argXInfoType, String argVars)
参数:argXInfostr, 路径与节点字符串 argXInfoType, 类型字符串(lng,sel,tpl,cfg) argVars(可选), 自定义替换的变量
作用:按照给定的路径与节点读取.jtbc文件中的内容。
示例:
{$=ireplace("default.channel_title", "lng")} = 调用当前目录下的 common/language/default.jtbc 中的 channel_title 节点的内容 {$=ireplace("default.list", "tpl")} = 调用当前目录下的 common/template/default.jtbc 中的 list 节点的内容 {$=ireplace("global.articles:default.list", "tpl")} = 调用全局目录下的 articles/common/template/default.jtbc 中的 list 节点的内容 {$=ireplace("global.articles:default.list", "tpl", "-a=1|-b=2")} = 调用全局目录下的 articles/common/template/default.jtbc 中的 list 节点的内容,其中的{$-a}等于1{$-b}等于2
备注:
问:如何根据 argXInfostr 参数找到文件路径?
答:先根据 argXInfoType 参数确定目录 lng,sel 属于 common/language 目录 tpl 属于 common/template 目录 cfg 属于 common 目录,再看 argXInfostr 参数,形如 default.list 表示 default.jtbc 中的 list 节点,形如 global.articles:default.list 表示 是全局目录下的articles 目录下的某个default.jtbc 中的 list节点,再根据前面的目录可以得出 common/language/default.jtbc 与网站根目录下的 articles/common/language/default.jtbc
问:itake 与 ireplace 有什么不同?
答:itake 只负责取出数据,而 ireplace 在实现 itake 功能的同时还会将模板中的 {$=格式} 的标签做相应的解析
- isort(String argStrings)
参数:argStrings, 复合参数型字符串(格式: "tpl=1;genre=articles" ...)
作用:按照指定的条件将分类数据按照指定的模板格式化输出。
复合参数:
- tpl: 模板节点名或者模板路径(如 1 表示模板取自 global.tpl_transfer.1,module.1 表示模板取自 module.1)。
- genre: 设定需要调用数据所属的模块名。
- lng: 语言ID,调用这个语言下的记录。
- fid: 父ID,只调用等于这个父ID的记录。
- vars: 预设变量,如果设置此值,在模板中将按照这些规则替换标签(如 vars=a=1|b=2 在模板中将可以使用 {$a}代表1 {$b}代表2)。
- valids: 有效的ID,设定此值后只显示属于这个值里面的分类记录。
示例:
{$=isort("genre=articles;tpl=s1")} = 调用文章(articles)第一级别的分类,按照预设的调用模板为s1的模板样式格式化输出
- itake(String argXInfostr, String argXInfoType, String argVars)
参数:argXInfostr, 路径与节点字符串 argXInfoType, 类型字符串(lng,sel,tpl,cfg) argVars(可选), 自定义替换的变量
作用:按照给定的路径与节点读取.jtbc文件中的内容。
示例:
{$=itake("default.channel_title", "lng")} = 调用当前目录下的 common/language/default.jtbc 中的 channel_title 节点的内容 {$=itake("default.list", "tpl")} = 调用当前目录下的 common/template/default.jtbc 中的 list 节点的内容 {$=itake("global.articles:default.list", "tpl")} = 调用全局目录下的 articles/common/template/default.jtbc 中的 list 节点的内容 {$=itake("global.articles:default.list", "tpl", "-a=1|-b=2")} = 调用全局目录下的 articles/common/template/default.jtbc 中的 list 节点的内容,其中的{$-a}等于1{$-b}等于2
备注:
问:如何根据 argXInfostr 参数找到文件路径?
答:先根据 argXInfoType 参数确定目录 lng,sel 属于 common/language 目录 tpl 属于 common/template 目录 cfg 属于 common 目录,再看 argXInfostr 参数,形如 default.list 表示 default.jtbc 中的 list 节点,形如 global.articles:default.list 表示 是全局目录下的 articles 目录下的某个 default.jtbc 中的 list 节点,再根据前面的目录可以得出 common/language/default.jtbc 与 网站根目录下的 articles/common/language/default.jtbc
- itransfer(String argStrings)
参数:argStrings, 复合参数型字符串(格式: "tpl=1;type=new;topx=10" ...)
(常规调用)作用:按照指定的条件将数据库中的数据按照指定的模板格式化输出。
复合参数:
- tpl: 模板节点名或者模板路径(如 1 表示模板取自 global.tpl_transfer.1,module.1 表示模板取自 module.1)。
- tplstr: 模板字符串,当设置此值时,模板直接使用这个字符串作为模板,如果设置tpl参数将不再有效。
- type: 调用数据的类型,预设的有 new(按时间排序最新)、top(按ID号排序最新)、commendatory(推荐的)、up(上面的记录)、down(下面的记录)等。
- genre: 设定需要调用数据所属的模块名。
- ndatabase: 单独设置调用的数据库表名。
- nfpre: 单独设置调用的数据库表中的字段前缀。
- osql: 附加SQL语句。
- osqlorder: 附加SQL排序语句(设定此值后预设的排序方式失效,以此设置为准)。
- baseurl: 基地址。
- vars: 预设变量,如果设置此值,在模板中将按照这些规则替换标签(如 vars=a=1|b=2 在模板中将可以使用 {$a}代表1 {$b}代表2)
- topx: 调用数据的前X条记录。
- cls: 模糊类别编号,调用这个类别下的所有记录(包括子类别)
- class: 精确类别编号,调用这个类别下的所有记录(不包括子类别)
- lng: 语言ID,调用这个语言下的记录
- bid: 基准ID,按照这个ID计算上与下(与type=up或者type=down配合使用)
示例:
{$=itransfer("genre=products;tpl=1;type=new;topx=10")} = 调用产品(products)模块下的前10条最新的记录,按照预设的调用模板为1的模板样式格式化输出
{$=itransfer("genre=products;tpl=2;type=commendatory;topx=10")} = 调用产品(products)模块下的前10条最新推荐的记录,按照预设的调用模板为2的模板样式格式化输出
- [method=sql](SQL语句)作用:
按照指定的SQL语句将数据库中的数据按照指定的模板格式化输出。
复合参数:
- sql: 需要查询数据的SQL语句。
- tpl: 模板节点名或者模板路径(如 1 表示模板取自 global.tpl_transfer.1,module.1 表示模板取自 module.1)。
- tplstr: 模板字符串,当设置此值时,模板直接使用这个字符串作为模板,如果设置tpl参数将不再有效。
- genre: 设定需要调用数据所属的模块名。
- baseurl: 基地址。
- vars: 预设变量,如果设置此值,在模板中将按照这些规则替换标签(如 vars=a=1|b=2 在模板中将可以使用 {$a}代表1 {$b}代表2)
示例:
{$=itransfer("method=sql;sql=select * from jtbc_aboutus;tpl=1")} = 调用数据库表(jtbc_aboutus)中的所有记录,按照预设的调用模板为1的模板样式格式化输出
- [method=itakes](JTBC文件)作用:
按照指定的参数将某个JTBC文件中的数据按照指定的模板格式化输出。
复合参数:
- xinfostr: 文件代号。
- xinfotype: 文件类型(cfg/lng/tpl)。
- xinfolimit: 限制调用的名称范围以“,”间隔。
- tpl: 模板节点名或者模板路径(如 1 表示模板取自 global.tpl_transfer.1,module.1 表示模板取自 module.1)。
- tplstr: 模板字符串,当设置此值时,模板直接使用这个字符串作为模板,如果设置tpl参数将不再有效。
- genre: 设定需要调用数据所属的模块名。
- baseurl: 基地址。
- vars: 预设变量,如果设置此值,在模板中将按照这些规则替换标签(如 vars=a=1|b=2 在模板中将可以使用 {$a}代表1 {$b}代表2)
示例:
{$=itransfer("method=itakes;xinfostr=global.lng_config.jtbc;xinfotype=lng;tpl=1")} = 调用网站根目录下common/language/lng_config.jtbc文件中的所有记录,按照预设的调用模板为1的模板样式格式化输出
- method=multigenre](多模块)作用:
按照指定的多个模块的参数将其所有的数据按照指定的模板格式化输出。
复合参数:
- tpl: 模板节点名或者模板路径(如 1 表示模板取自 global.tpl_transfer.1,module.1 表示模板取自 module.1)。
- tplstr: 模板字符串,当设置此值时,模板直接使用这个字符串作为模板,如果设置tpl参数将不再有效。
- type: 调用数据的类型,预设的有 new(按时间排序最新)、commendatory(推荐的)等。
- genre: 设定需要调用数据所属的模块名。
- field: 字段列表(id,time默认选择,其他字段需枚举)。
- osql: 附加SQL语句(此处附加的SQL语句字段前缀为“un_”)。
- osqlorder: 附加SQL排序语句(此处附加的SQL语句字段前缀为“un_”,设定此值后预设的排序方式失效,以此设置为准)。
- baseurl: 基地址。
- vars: 预设变量,如果设置此值,在模板中将按照这些规则替换标签(如 vars=a=1|b=2 在模板中将可以使用 {$a}代表1 {$b}代表2)
- lng: 语言ID,调用这个语言下的记录
示例:
{$=itransfer("method=multigenre;type=new;genre=articles&products;field=topic&content;tpl=1")} = 调用网站中的文章以及产品模块的所有记录,按照预设的调用模板为1的模板样式格式化输出