宸村疂鑾夊ū涔愬満澶╁ぉ杩旀按 bcn骞冲彴缃戝潃
鏉忚€€娉ㄥ唽缃戝潃 鍚屽垱濞变箰瀹樼綉鍦板潃
ag鐜伴噾寮€鎴?/a> how about 婢抽棬璞棬缃戜笂濞变箰绾夸笂鐜╃綉?
What's the 婢抽棬璞棬缃戜笂濞变箰绾夸笂鐜╃綉 phone number? What is 婢抽棬璞棬缃戜笂濞变箰绾夸笂鐜╃綉 contact information ?
Online consultation 婢抽棬璞棬缃戜笂濞变箰绾夸笂鐜╃綉 The picture of the 婢抽棬璞棬缃戜笂濞变箰绾夸笂鐜╃綉
婢抽棬璞棬缃戜笂濞变箰绾夸笂鐜╃綉of the video Is 婢抽棬璞棬缃戜笂濞变箰绾夸笂鐜╃綉 for real ?
婢抽棬璞棬缃戜笂濞变箰绾夸笂鐜╃綉's website A map of 婢抽棬璞棬缃戜笂濞变箰绾夸笂鐜╃綉
婢抽棬璞棬缃戜笂濞变箰绾夸笂鐜╃綉 of tiktok 婢抽棬璞棬缃戜笂濞变箰绾夸笂鐜╃綉music
婢抽棬璞棬缃戜笂濞变箰绾夸笂鐜╃綉 of news 婢抽棬璞棬缃戜笂濞变箰绾夸笂鐜╃綉app
婢抽棬璞棬缃戜笂濞变箰绾夸笂鐜╃綉company Customer service of 婢抽棬璞棬缃戜笂濞变箰绾夸笂鐜╃綉 company

澶ф垬绁為€佺幇閲憽?TBH·COM』澹瑰畾鍙戞墜鏈虹増瀹樼綉濞变箰-  Z.H3T4B6铮? H  E  B

DESTOON常用参数调用说明

作者:小编 | 点击:
0312
2021
近日,公司要用destoon系统进行二次开发b2b平台。所以,最近在看看destoon一些内置的机制以及标签的调用。之前就知道destoon是做b2b的一款cms,一直没有实际的操作过,现在刚好有机会接触,那么下面我就将destoon的tag标签调用方式给整理分享一下,便于学习和复习。什么是标签调用?标签调用是根据调用条件(condition)从数据表(table)读取调用数量(pagesize)...

近日,公司要用destoon系统进行二次开发b2b平台。所以,最近在看看destoon一些内置的机制以及标签的调用。

之前就知道destoon是做b2b的一款cms,一直没有实际的操作过,现在刚好有机会接触,那么下面我就将destoon的tag标签调用方式给整理分享一下,便于学习和复习。

什么是标签调用?

标签调用是根据调用条件(condition)从数据表(table)读取调用数量(pagesize)条数据,并按排序方式(order)排序,最终通过标签模板的布局输出数据。

可以看出,标签的工作分两个部分,一是读取数据,二是显示数据。

标签函数原型

标签函数保存于 include/tag.func.php

tag($parameter, $expires = 0)

$parameter 表示传递给tag函数的字符串,系统自动将其转换为多个变量。

例如传递

table=destoon&pagesize=10&hello=world

系统相当于得到:

$table = 'destoon';

$pagesize = 10;

$hello = 'world';

三个变量

$expires 表示标签缓存过期时间

>0 缓存$expires秒;0 - 系统默认标签缓存时间;-1 - 不缓存;-2 - 缓存SQL结果;

一般情况保持默认不需要传递。

数据读取过程

例如以下标签:

<!--{tag("moduleid=5&condition=status=3&order=addtime desc&pagesize=10")}-->

会被转换为如下的SQL语句:

SELECt *

FROM destoon_sell

WHERe status=3

ORDER BY addtime DESC

LIMIT 0,10

读出的数据会保存在 $tags 数组里

通常情况下不需要写table=xxx,应该写moduleid=模块ID,系统会自动对应模块的表

数据显示过程

1、通过标签模板显示

传递&template=abc给标签函数,例如:

<!--{tag("moduleid=...&template=abc")}-->

默认的标签模板保存在模板目录/tag/目录里,例如&template=abc将调用模板目录/tag/abc.htm模板来显示数据。

如果标签模板存放于其他目录,例如def,则传递&dir=def&template=abc,系统将调用模板目录/def/abc.htm模板。

2、直接在模板里循环数据

<!--{php $tags=tag("moduleid=...&template=null");}-->

此写法传递标签模板为null,并且直接返回数据给$tags数组,此时可以直接在模板里循环了。

以下为一个完整的示例:

<!--{php $tags=tag("moduleid=...&template=null");}-->

{loop $tags $t}

...

{/loop}

第一种写法一般用于多次调用的数据,第二种写法一般用于只调用一次的数据。

常用参数及含义

moduleid

moduleid指模块ID,可在后台模块管理里查询。对于直接调用模块的数据,设置正确的模块ID后,将不需要传递table参数,系统会自动获取。

例如传递moduleid=5,系统将识别为调用供应信息,自动设置table参数为sell。

一般情况下,除了扩展模块里的功能都需要通过moduleid来调用。

table

table指表名,可在后台数据库维护里查询。对于Destoon系统表,不需要加表的前缀;对于非Destoon系统表,需要填写完整的表名,且传递prefix参数。

例如对于Destoon系统表,传递table=announce,如果表前缀为destoon_,系统将识别表名为 destoon_announce。

对于非Destoon系统表,传递table=tb_abc&prefix=或者table=abc&prefix=tb_,系统将识别表名为 tb_abc。

fields

fields指查询的字段,默认为*。可以传递例如 fields=title,addtime,但是一般情况下无需传递,Destoon独有的标签缓存机制会自动缓存查询结果,不必担心效率问题。

condition

condition指查询的条件,如果不传递,则为1,代表任意条件的数据(此项需了解SQL语法)。Destoon所有模块遵循统一标准开发,所以很多条件是通用的。

例如 status=3表示正常通过的信息、status=3 and level=1表示级别为1的信息、status=3 and thumb<>''表示有标题图片的信息等。

order

order指数据的排序方法(此项需了解SQL语法)。

例如order=addtime desc表示按添加时间降序排列、order=itemid desc表示按itemid降序排列、order=rand()表示随机数据等。

pagesize

pagesize指调用数据的数量,如果不传递,默认为10。

template

template指指定的标签模板,如果不传递,默认为list,位于模板目录/tag/list.htm,如果传递为null,表示不应用标签模板。参见上述数据显示过程。

debug

debug参数用于调试标签,例如传递&debug=1,系统将输出标签构造成的SQL语句,以便验证标签写法是否正确,不需要调试的标签不用加此参数。

数据字典

参考:http://help.destoon.com.elryadh.com/dict.php

其他常见用法举例

&和and的区别

&用来分割参数,and是sql语句where后的读取条件,二者完全不同。

多表联合查询

例如查询会员名为destoon的会员和公司资料,可以使用:

{tag("table=destoon_member m,destoon_company c&prefix=&condition=m.userid=c.userid and m.username='destoon'&template=list-com")}

destoon_member和destoon_company是表的实际名称(包含表前缀),prefix=表示系统不再自动在表名前加前缀。

通常通过传递moduleid可以实现大部分的调用,除非您确认熟悉联合查询,否则不推荐使用。

截至目前,系统默认模板里还没有一个功能需要用到联合查询。

控制标题长度

在标签里传递length参数,例如&length=20表示20个字符长度(一个汉字占2个字符),一般情况建议用css隐藏多余字符(定义height和overflow:hidden)。

传递length参数,系统仅对title字段自动截取,如果需要截取其他字段,可用dsubstr函数。

例如 {dsubstr($t[company], 20, '...')} 表示截取company字段为20个字符,截取后,结尾追加...

设置日期显示格式

可以在标签里传递datetype参数:

1 表示 年;

2 表示 月-日;

3 表示 年-月-日;

4 表示 月-日 时:分;

5 表示 年-月-日 时:分;

6 表示 年-月-日 时:分:秒

也可以在模板里直接使用date函数,例如{date('Y-m-d', $t[addtime])} 表示将时间转换为 年-月-日 格式

date函数的使用请参阅PHP手册。

调用某一分类的信息

在标签里传递catid参数,例如&catid=5表示调用分类ID为5的所有信息。

如果调用多个分类,用逗号分隔分类ID,例如 &catid=5,6,7表示调用分类ID为5、6、7的所有信息。

分类调用默认包含子分类的信息,如果不需要包含子分类,可设置&child=0参数。

例如&catid=5&child=0表示只调用分类ID为5的信息,不包括子分类的信息。

调用某一地区的信息

调用地区信息和上述调用分类信息的方法完全相同,将其中的catid换为areaid即可。

显示信息所在分类

<a href="{$MODULE[$moduleid][linkurl]}{$CATEGORY[$t[catid]][linkurl]}">{$CATEGORY[$t[catid]][catname]}</a>

注意:自V4.0,以上写法将不可用,需要在标签里传递&showcat=1参数,然后在模板里写

<a href="{$t[caturl]}">{$t[catname]}</a>

控制列数

此项常用于图片的布局,可使用cols参数。

例如调用12张图片,一行显示4个,共3行,则传递&pagesize=12&cols=4

支持cols参数的标签模板限thumb-table.htm和list-table.htm

其中,thumb-table.htm显示图片列表,list-table.htm显示文字列表

如果新建支持cols的标签模板或直接循环$tags,可参考以上两个模板的写法

上述效果可以也可以通过CSS实现,无需使用表格,请自行书写

显示文章的简介

使用{$t[introduce]}变量,如果要截取字数,例如80字符,可使用{dsubstr($t[introduce], 80, '...')}

小结

上面就是destoon标签的一些基本的调用方式以及参数。看似复杂难懂,实际上在理解各个参数的含义和调用流程后,您会了解到标签实际简单自由、灵活易用、功能强大。

默认模板里已提供了大量的调用范例和标签模板,可以一边学习一边查阅,这样才能更好的理解熟悉destoon系统。


建站流程
  • 网站需
    求分析
  • 网站策
    划方案
  • 页面风
    格设计
  • 程序设
    计研发
  • 资料录
    入优化
  • 确认交
    付使用
  • 后续跟
    踪服务
  • 4006685122
    service@ourseo.cn
Hi,Are you ready?
准备好开始了吗?
那就与我们取得联系吧

咨询送礼现在提交,将获得上坤思源策划专家免费为您制作
价值5880元《全网营销方案+优化视频教程》一份!
下单送礼感恩十周年,新老用户下单即送创业型空间+域名等大礼
24小时免费咨询热线4006685122
合作意向表
您需要的服务
您最关注的地方
预算

直接咨询

点解买足彩 双色球 复式中奖概率大 我这期想买几注双色球 足彩第11051期信息提点 胜负彩18081期澳盘
大乐透技巧分析 六种杀号法 体彩31选7晚上几点停售 双色球碧云天17151期 福彩双色球第09077期开奖 双色球124历史同期
胜负彩16023赛果 双色球15117期祝君中奖 足彩10108期春风推荐 竞彩盈利技巧 攻略 大乐透现在情况
11选5百度贴吧 银河时时彩 重庆时时彩后三追号 双色球有没有开过一样的号码 沉迷于足彩14场 西安