destoon官方标签大全

什么是标签调用?

标签调用是根据调用条件(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(“table=sell&condition=status=3&order=addtime desc&pagesize=10″)}–>

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

SELECT *
FROM destoon_sell
WHERE status=3
ORDER BY addtime DESC
LIMIT 0,10

读出的数据会保存在 $tags 数组里
数据显示过程

1、通过标签模板显示
传递&template=abc给标签函数,例如:

<!–{tag(“table=…&template=abc”)}–>

默认的标签模板保存在模板目录/tag/目录里,例如&template=abc将调用模板目录/tag/abc.htm模板来显示数据
如果标签模板放于其他目录,例如def,则传递&dir=def&template=abc,系统将调用模板目录/def/abc.htm模板

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

<!–{php $tags=tag(“table=…&template=null”);}–>


此写法传递标签模板为null,并且直接返回数据给$tags数组,此时可以直接在模板里循环了
以下为一个完整的示例:

<!–{php $tags=tag(“table=…&template=null”);}–>
{loop $tags $t}
…
{/loop>

第一种写法一般用于多次调用的数据,第二种写法一般用于只调用一次的数据。
常用参数及含义

moduleid
moduleid指模块ID,可在后台模块管理里查询。对于直接调用模块的数据,设置正确的模块ID后,将不需要传递table参数,系统会自动获取。
例如传递moduleid=5,系统将识别为调用供应信息,自动设置table参数为sell

table
table指表名,可在后台数据库维护里查询。对于Destoon系统表,不需要加表的前缀;对于非Destoon系统表,需要填写完整的表名,且传递prefix参数
例如对于Destoon系统表,传递table=sell,如果表前缀为destoon_,系统将识别表名为 destoon_sell
对于非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,表示不应用标签模板。参见上述数据显示过程。
其他常见用法举例

多表联合查询
例如查询会员名为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=”表示系统不再自动在表名前加前缀

控制标题长度
在标签里传递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])} 表示将时间转换为 年-月-日 格式

调用某一分类的信息
在标签里传递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>

控制列数
此项常用于图片的布局,可使用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, ‘…')}

函数原型
tag($parameter, $expires = 0)
$parameter 表示传递给tag函数的字符串,系统自动将其转换为多个变量
例如传递 table=destoon&pagesize=10,系统相当于得到$table = ‘destoon';$pagesize = 10;两个变量
$expires 表示缓存过期时间
>0 缓存$expires秒;0 – 系统默认时间;-1 – 不缓存;-2 – 缓存SQL;一般情况保持默认即可。

常量
{DT_SKIN}
系统风格网址。
{DT_PATH}
网站首页网址。

变量
$tags
以数组类型保存标签调用的数据,可通过loop语法遍历显示。
$pages
保存数据分页代码,仅在调用了分页时有效。
$MODULE[5][name]
ID为5的模块名称。
$MODULE[5][linkurl]
ID为5的模块网址。
$CATEGORY[5][catname]
ID为5的分类名称(仅变量$CATEGORY存在时有效)。
$CATEGORY[5][linkurl]
ID为5的分类网址(仅变量$CATEGORY存在时有效)。

常用字段
title 标题; linkurl 链接; catid 分类ID; introduce 简介; addtime 添加时间; 常用函数 dsubstr($string, $length, $suffix = ”)
将字符串$string截取为$length长,尾部追加$suffix(例如..)
date($format, $timestamp)
将时间戳$timestamp转化为$format(例如Y-m-d)格式

标签模板
模板保存于./template/default/tag/目录;
建议不要删除或者修改自带的模板,推荐在自带模板基础上新建模板并应用。

1.标签格式的大致说明

<!–{tag(“moduleid=9&table=article_9&length=40&condition=status=3&pagesize=10&datetype=2&order=addtime desc&target=_blank”)}–>

moduleid=9是资讯模块ID, 模块ID去模块管理查看;
article是资讯模块目录名;
&length=40是标签截取字数
&pagesize=10是调用条数
&datetype=2是显示时间添加时间

2.调用最新加入企业

<!–{tag(“moduleid=4&table=company&condition=groupid>4&pagesize=10&order=userid desc&template=list-com”)}–>

3.如何调用其中一个企业会员的供求信息及资讯
在condition=里加 and username='xxx'? xxx为会员登录名

4.如何调用 供应 求购 产品 下的 某个分类
调用分类下的信息可以设置 &catid=行业id&child=1 child=1表示同时调用下属的行业

5.调用二级栏目信息列表

<!–{tag(“moduleid=$moduleid&table=article_$moduleid&catid=$catid&child=1
&condition=status=3&order=”.$MOD[order].”&pagesize=6&datetype=2&target=_blank”)}–>

如果你是在文章模块里调用 可以用上面的代码 $catid 改为你要调用的栏目id即可
如果需要同时调用栏目下的信息 child=1即可 否则 child=0
如果是在网站其他地方调用,可以用下面的代码:

<!–{tag(“moduleid=9&table=article_9&catid=$catid&child=1&condition=status=3&order=addtime desc&pagesize=6&datetype=2&target=_blank”)}–>

注意moduleid的值要与你调用的模块id保持一致
补充:
下面这个在首页调用成功

<!–{tag(“moduleid=9&table=article_9&catid=$catid&child=1&condition=status=3&order=addtime desc&pagesize=6&datetype=2&target=_blank”)}–>

但是我想要资讯页内部的模版列表,也就是每条只显示22个字。

6.首页资讯栏目这里怎么调用
“9”为你模块的ID

{php $C = get_maincat(0, cache_read(‘category-9.php'));}
{loop $C $k $v}
<a href=”{$MODULE[9][linkurl]}{$v[linkurl]}”>{$v[catname]}</a>
{/loop}

7.公司列表 不能控制字数!!
你可以直接修改 list-com.htm
{$t[company]} 为 {dsubstr($t[company], $length)}

8.TAG常用标签
{$CATEGORY[$t[catid]]["catname"]} 所属栏目名称; {timetodate($t["addtime"], $datetype)}? 发布时间

9.其他
你可以通过&template= 来指定标签模版
如果没用这个参数 默认是list
位于模版目录tag目录
资讯 级别level 1级为 推荐文章 ;2级为 幻灯图片;3级为 推荐图文;4级为 头条文章;5级为 头条相关

(0)

相关推荐

  • Destoon旺旺无法正常显示,点击提示“会员名不存在”的解决办法

    很多朋友都遇到了Destoon供求栏目下旺旺无法正常显示,点击提醒"会员名不存在"的情况,原因是旺旺更改了在线旺旺的代码,但是Destoon没有及时更新.这时候只需要修改api/im.func.php中第二段旺旺联系的那段: 即将function im_ali($id, $style = 0) 修改成下面的方法即可. function im_ali($id, $style = 0) { return $id ? '<a href="http://amos.im.alis

  • destoon利用Rewrite规则设置网站安全

    为增强destoon的安全性,需要进行必要的安全设置,本文以Rewrite规则设置来增加网站安全性为例说明如下: 规则一: 屏蔽非php扩展的动态文件,例如asp.aspx等,可以阻止asp.aspx等后缀的后门程序运行 RewriteRule ^(.*)\.(asp|aspx|asa|asax|dll|jsp|cgi|fcgi|pl)(.*)$ /404.php 规则二: 屏蔽站点file目录php运行权限,站点的file目录默认具有写入权限,当网站出现未知漏洞时,可能会被写入后门程序,阻止p

  • destoon找回管理员密码的方法

    很多人在使用 DESTOON 系统时,经常会出现忘记后台管理密码的情况,亦或者是管理密码被别盗了需要找回,这时候往往不知所措. 其实找回 DESTOON 系统登陆的密码很简单,我们只需要将保存在数据库里面的密码更改掉,换一个简单一点的密码,然后进入系统再更改成自己的就可以了. 如果系统开启了邮件发送,还可以通过前台的找回密码功能邮件找回. 可以使用数据库管理工具,例如PHPMyAdmin,找到destoon_member表, 修改管理员password字段值为: 14e1b600b1fd579f

  • destoon网站转移服务器后搜索汉字出现乱码的解决方法

    很多使用destoon的用户在网站转移服务器后,一切正常,但是在有搜索页面时,搜索汉字就会出现乱码 框框 之类的符号,而搜索数字,英文则很正常. 对于使用destoon(GBK)模板的用户来说,解决方法为: 将.htaccess文件中的 RewriteRule ^(.*)-htm-(.*)$ $1.php?$2 改为 RewriteRule ^(.*)-htm-(.*)$ $1.php?$2 [NU] 如果设置了NU标记,从Unicode转换为UTF – 8将不会发生.所有Unicode字符会保

  • destoon复制新模块的方法

    在destoon的实际使用过程中我们往往需要根据情况建立一些系统没有的模块,这时候就需要复制已有的模块来根据已有模块建立新的模块,具体操作方法如下: 首先选择一个我们需要的模块(因为系统默认文章和信息模块是可以复制的,在这里我们只研究非默认的模块怎么复制),我选择的是模块名称是品牌,目录名是brand,模块ID是13,你也可以根据你的需要选择要复制的模块. 第一步,复制根目录下的brand这个文件夹,粘贴然后重命名,这里我们用rename命名作为示范.于是你的根目录下多了一个名称为rename的

  • destoon之一键登录设置

    目前destoon已经支持QQ.新浪微博.百度.MSN帐号一键登录. 进入网站后台,会员管理  模块设置  会员整合选项卡,点击对应的申请帐号连接,申请接口帐号和密钥,填写提交. 一键登录需要服务器的PHP环境支持allow_url_fopen.json和curl扩展,请确认服务器支持之后再开启,否则无法正常登录. 在后台起始页,服务器信息,点详细信息,如果能看到以下字样,说明务器环境支持:

  • destoon调用自定义模板及样式的公告栏

    destoon中默认的首页公告栏调用方法如下: 复制代码 代码如下: <!–{tag("table=announce&condition=totime=0 or totime>$today_endtime-86400&areaid=$cityid&pagesize=3&datetype=2&order=listorder desc,addtime desc&target=_blank")}–> 这个标签引用的模板文件是t

  • destoon会员注册提示“数据校验失败(2)”解决方法

    很多人在使用destoon建立一个B2B系统的时候,会在企业站注册企业用户的时候出现:"数据校验失败(2)"的错误提示,严重影响用户的使用.现将解决方法公布如下: 从destoon的后台进入module/member/register.inc.php 在register.inc.php文件中找到: if($submit){ 将其下的 if($action != crypt_action('register')) dalert($L['check_sign'].'(1)'); 注释掉:

  • destoon二次开发常用数据库操作

    destoon在初始化系统后系统会自动连接数据库,并将数据库操作对象保存在$db.对于数据库操作方法请参考include/db_mysql.class.php函数原型,下面对常用数据库操作举例说明. 1.执行SQL语句 $db->query("INSERT INTO `{$DT_PRE}table` (`xxx`) VALUES ('yyy')"); $db->query("UPDATE `{$DT_PRE}table` SET `xxx`='yyy' WHERE

  • destoon官方标签大全

    什么是标签调用? 标签调用是根据调用条件(condition)从数据表(table)读取调用数量(pagesize)条数据,并按排序方式(order)排序,最终通过标签模板的布局输出数据. 可以看出,标签的工作分两个部分,一是读取数据,二是显示数据. 标签函数原型 标签函数保存于 include/tag.func.php tag($parameter, $expires = 0) $parameter 表示传递给tag函数的字符串,系统自动将其转换为多个变量 例如传递 table=destoon

  • Z-Blog常用标签大全(官方版)

    在学习Z-Blog模板标签之家大家应注意下面3点: 1. Z-BlogPHP 1.5之前的版本,在主题目录下会有一个compile文件夹,这里存放经过程序编译后的模板文件,请不要去修改. 2. 如果改动了模板文件,则需要重新编译模板才能看到改动效果.你可以在后台首页找到[清空缓存并重新编译模板]或重新激活主题刷新编译模板文件. 3. Z-BlogPHP模版标签调用方式为{$类名.(二级类名.)类属性},如 {$article.Title}: 显示文章标题的标签.这里article为文章类,Tit

  • MyBatis常用标签大全

    _parameter _parameter 表示当前传入的参数,如果查询的时候传入的参数只有一个,则使用 _parameter E getById(Integer id); <select id="getById" parameterType="int" resultMap="BaseResultMap"> SELECT * FROM 库名.表名 WHERE id = #{_parameter} </select> if判

  • 详解Maven POM(项目对象模型)

    POM( Project Object Model,项目对象模型 ) 是 Maven 工程的基本工作单元,是一个XML文件,包含了项目的基本信息,用于描述项目如何构建,声明项目依赖,等等. 执行任务或目标时,Maven 会在当前目录中查找 POM.它读取 POM,获取所需的配置信息,然后执行目标. POM 中可以指定以下配置: 项目依赖 插件 执行目标 项目构建 profile 项目版本 项目开发者列表 相关邮件列表信息 在创建 POM 之前,我们首先需要描述项目组 (groupId), 项目的

  • Mybatis中Mapper标签总结大全

    一.标签分类 定义SQL语句 insert delete update select 配置关联关系 collection association 配置java对象属性与查询结果集中列名的对应关系 resultMap 控制动态SQL拼接 foreach if choose 格式化输出 where set trim 定义常量 sql 其他 include 二.标签总结 1. 基础SQL标签 1.1 查询select 标签属性 id 唯一的名称,对应dao中mapper的接口名称 paramterTy

  • Vue动态组件component标签的用法大全

    目录 简介 说明 官网网址 示例 路由设置 父组件 子组件 简介 说明 本文介绍Vue的动态组件的用法. 在Vue中,可以通过component标签的is属性动态指定标签,例如: <component :is="componentName"></component> 此时,componentName的值是什么,就会引入什么组件. 官网网址 https://v2.cn.vuejs.org/v2/guide/components.html#动态组件 示例 路由设置

  • 新版Android studio导入微信支付和支付宝官方Demo问题解决大全

    最近项目要用到支付宝支付和微信支付,本想使用第三方支付框架ping++或者BeeCloud的,但是由于他们的收费问题,让我望而却步,而且公司给了相应的公钥.私钥和APPID等,所以就用下开放平台的呗. 进去倒腾了半天才发现一堆问题,Oh,我的天.完全不知所云,百度谷歌了一堆,都没找到足够的解决方案.好吧,自己来,这里也就把相关的东西分享给大家,如果有类似问题的可以考虑使用一下,不足的地方大牛就别喷了. 微信开放平台有文档和SDK,大家可以去自己查看下载,火箭:https://open.weixi

  • dedecms模板标签代码官方参考

    没想到dedecms可以这样DIY,牛啊 地址:http://www.dedecms.com/archives/templethelp/help/ 在了解DedeCms的模板代码之前,了解一下织梦模板引擎的知识是非常有意义的.织梦模板引擎是一种使用XML名字空间形式的模板解析器,使用织梦解析器解析模板的最大好处是可以轻松的制定标记的属性,感觉上就像在用HTML一样,使模板代码十分直观灵活,新版的织梦模板引擎不单能实现模板的解析还能分析模板里错误的标记. 1.织梦模板引擎的代码样式有如下几种形式:

  • php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)

    微信入口绑定,微信事件处理,微信API全部操作包含在这些文件中. 内容有:微信摇一摇接口/微信多客服接口/微信支付接口/微信红包接口/微信卡券接口/微信小店接口/JSAPI <?php class WxApi { const appId = ""; const appSecret = ""; const mchid = ""; //商户号 const privatekey = ""; //私钥 public $param

  • jQuery版本升级踩坑大全

    背景 -------------------------------------------------------------------------------- jQuery想必各个web工程师都再熟悉不过了,不过现如今很多网站还采用了很古老的jQuery版本.其实如果早期版本使用不当,可能会有DOMXSS漏洞,非常建议升级到jQuery 1.9.x或以上版本.前段时间我就主导了这件事情,把公司里我们组负责的项目jQuery版本从1.4.2升级到了jQuery 1.11.3.jQuery官

随机推荐