#Destoon B2B标签(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语句,以便验证标签写法是否正确,不需要调试的标签不用加此参数。
****
##其他常见用法举例##
**&和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, '...')}
- 快速入门
- 安装升级
- 系统安装
- 系统更新
- 系统升级
- 入门指引
- 模块管理
- 地区管理
- 分类管理
- 信息发布
- 基础设置
- 系统维护与设置
- VIP会员管理
- 广告管理
- 网站安全设置
- 邮件发送配置
- 图片配置
- 手机短信发送配置
- 生成静态网页
- 在线支付接口
- 会员组设置
- 网站备份
- 高级技巧
- 会员整合
- 模块绑定
- 会员绑定二级域名和顶级域名的方法
- 伪静态设置
- 单页采编功能
- 采集数据入库
- 分类属性筛选
- 一键登录设置
- 多语言翻译
- 其它
- 忘记密码如何找回
- 模板制作
- 模板存放规则及语法参考
- 模板调用手册
- 公司主页模板添加
- destoon模板相关参数解析
- DT
- destoon标签
- MODULE 字段解析
- sell
- index
- 调取资讯分类及列表示例
- 二次开发指南
- 二次开发入门
- 系统目录文件结构
- 系统常量与变量
- 数据库操作
- 数据字典
- destoon_404(404日志)
- destoon_ad(广告)
- destoon_address(收段地址)
- destoon_admin(管理员)
- destoon_admin_log(管理日志)
- destoon_admin_online(在线管理员)
- destoon_ad_place(广告位)
- destoon_alert(贸易提醒)
- destoon_announce(公告)
- destoon_area(地区)
- destoon_article_21(资讯)
- destoon_article_data_21
- destoon_ask(客服中心)
- destoon_banip(禁止IP)
- destoon_banword(词语过滤)
- destoon_brand_13(品牌)
- destoon_brand_data_13(品牌内容)
- destoon_buy_6(求购)
- destoon_buy_data_6(求购内容)
- destoon_cache(文件缓存)
- destoon_category(栏目分类)
- destoon_category_option(分类属性)
- destoon_category_value(分类属性值)
- destoon_chat(在线聊天)
- destoon_city(城市分站)
- destoon_comment(评论)
- destoon_comment_ban(评论禁止)
- destoon_comment_stat(评论统计)
- destoon_company(公司)
- destoon_company_data(公司内容)
- destoon_company_setting(公司设置)
- destoon_down_15(下载)
- destoon_down_data_15(下载内容)
- destoon_exhibit(展会)
- destoon_exhibit_data(展会内容)
- destoon_exhibit_order(展会报名)
- destoon_favorite-商机收藏
- destoon_fetch-单面采编
- destoon_fields-自定义字段
- destoon_finance_card-充值卡
- destoon_finance_cash-申请提现
- destoon_finance_charge-在线充值
- destoon_finance_credit-积分流水
- destoon_group-团购
- destoon_group_order-团购定单
- destoon_group_date团购内容
- destoon_gift_order-积分换礼订单
- destoon_gift-积分换礼
- destoon_friend-我的商友
- destoon_finance_sms-短信增减
- destoon_finance_record-财务流水
- destoon_finance_promo-优惠码
- destoon_finance_pay-支付记录
- destoon_guestbook-留言本
- destoon_honor-荣誉资质
- destoon_info_22-招商
- destoon_info_data_22-招商内容
- destoon_job-招聘
- destoon_job_apply-应聘工作
- destoon_job_data-招聘内容
- destoon_job_talent-人才库
- destoon_keylink-关联链接
- destoon_keyword-关键词
- destoon_know-知道
- destoon_know_answer-知道回答
- destoon_know_data-知道内容
- destoon_know_expert-知道专家
- destoon_know_vote-知道投票
- destoon_link-友情链接
- destoon_login-登录日志
- destoon_mail-邮件订阅
- destoon_mail_list-订阅列表
- destoon_mail_log-邮件记录
- destoon_mall-商城
- destoon_mall_cart-购物车
- destoon_mall_comment-定单评论
- destoon_mall_data-商城内容
- destoon_mall_express-运费模板
- destoon_oauth-一键登录
- destoon_mall_order-商城定单
- destoon_mall_stat-评分统计
- destoon_member-会员
- destoon_member_group-会员组
- destoon_message-站内信件
- destoon_module-模型
- destoon_news-新闻
- destoon_news_data-新闻内容
- destoon_poll_record-票选记录
- destoon_online-在线会员
- destoon_page-公司单页
- destoon_page_data-公司单页内容
- destoon_photo_12-图库
- destoon_photo_data_12-图库内容
- destoon_photo_item_12-图库图片
- destoon_poll-票选
- destoon_poll_item-票选选项
- destoon_validate-资料认证
- destoon_question-验证问题
- destoon_quote-行情
- destoon_quote_data-行情内容
- destoon_quote_price-行情报价
- destoon_quote_product-行情产品
- destoon_resume-简历
- destoon_resume_data-简历内容
- destoon_sell_5-供应
- destoon_sell_data_5-供应内容
- destoon_sell_search_5-供应搜索
- destoon_session-sesssion
- destoon_setting-网站设置
- destoon_sms-短信记录
- destoon_special-专题
- destoon_special_data-专题内容
- destoon_special_item-专题信息
- destoon_sphinx
- destoon_spread-排名推广
- destoon_spread_price-排名起价
- destoon_style-公司主页模板
- destoon_type-分类
- destoon_upgrade-会员升级
- destoon_upload_0-上传记录0
- destoon_webpage-单网页
- destoon_video_14-视频
- destoon_video_data_14-视频内容
- destoon_vote-投票
- destoon_vote_record-投票记录