DESTOONtag()参数详解

   2019-03-22 3670
核心提示:本节课主要掌握destoon tag()函数的常用自定义参数。 destoon 默认首页模板index.htm中的标签为例

这是一个 destoon 默认首页模板index.htm中的标签

<!--{tag("moduleid=6&condition=status=3&areaid=$cityid&pagesize=".$DT['page_trade']."&datetype=2&target=_blank&order=addtime desc")}-->

在tag(" 这里面的都是参数"),传输参数的方式是: &参数名=参数值,第一个参数省略&符号。

tag()的参数,分类必须参数和可选参数两种

必须参数:

moduleid:

     示例: moduleid=6,表示调用的是求购频道的内容,调用其它频道的内容只需要将6改成对应的频道id即可,频道Id可以destoon后台的系统维护,模块管理中查看。  

table:

    示例:table=buy_6,和moduleid=6效果是一样的,也表示调用的是求购频道的内容,不同的是table传的值直接是表名,并且不带表前缀,如果要调用其它表的内容只需要将buy_6替换成对应的表名即可。


注: tag()的必须参数一共就moduleid,table两个,而且这两个是二选一,只能同时使用其中的一个,moduleid用来调用各大频道主表的内容,如果要调用非频道主表的内容就得使用table直接传表名了。


可选参数:

   condition:

           示例:&condition=status=3,conditon使用度和moduleid是几乎一样的,只要是tag()标签中都会传这个参数,这个参数的作用是将传入的值直接作为sql条件进行数据库内容筛选。比如我们示例中的 &condition=status=3,php解析后就是 where status=3。、

          condition是可以无限传条件的,有多少都可以往这里传,比如:&condition=status=3 and level>0 and vip>0 and itemid>100 and itemid<1000

这是传的标准的sql语句。

         如果您是小白,不懂啥是sql。举个简单的示例:我们要调用供应频道的已审核的信息,并且这信息要是推荐的,还得是vip会员发布的。那么首先我们构建tag标签语句,<!--{tag("")}-->,然后传入第一个参数 moduleid=5,供应频道的id是5;当然也可以用table=sell_5替代。

  <!--{tag("moduleid=5")}-->

       第二步传入condition筛选我们需要要的数据

       <!--{tag("moduleid=5&condition=")}-->

      条件一:已审核的信息,换成sql语句就是 status=3

       <!--{tag("moduleid=5&condition=status=3")}-->

      条件二:推荐的信息,换成sql语句是 level>0,如果是调用指定推荐级别的,如推荐2的, level=2

      <!--{tag("moduleid=5&condition=status=3 and level>0")}-->

        因为level 是第二个条件了,所以我们得用and来连接,并且and 前后都必须有空格,没有的话就会报错,condtion的值,从第二个条件开始都要用and来连接。

       条件三:vip会员发布的信息,换成sql语句就是 vip>0,如果要指定vip级别,如1 就是 vip=1

        <!--{tag("moduleid=5&condition=status=3 and level>0 and vip>0")}-->

       通过本示例,相信大家已经学会如何信condition传值调用我们想要的信息了。

       常用的一些condition条件:

        已审核:status=3, 推荐的:level>0,vip会员的:vip>0, 有缩略图的:thumb<>'', 指定会员组的:groupid=6


pagesize:

     怎么传条件我们已经学会了,但是我们调出来的内容还得限制数量不是吗?pagesize就是用来指定数量的。

   示例:

   <!--{tag("moduleid=5&condition=status=3 and level>0 and vip>0&pagesize=20")}-->

  调多少条就写&pagesize=20 是多少就行了。这个参数没啥好解释的。

  另外pagesize 有一个搭配使用的参数叫 offset,写法是&offset=10, 作用是从第一几条开始调用。

<!--{tag("moduleid=5&condition=status=3 and level>0 and vip>0&pagesize=20&offset=10")}-->

表示从10条开始调用,往后调20条信息出来。


 提示:pagesize 如果不传,tag()会员默认调用10条信息。


order:

   tag()的排序参数,用法:&order=addtime desc,edittime desc,可以多个排序字段连接,用,隔开。

  示例:

  <!--{tag("moduleid=5&condition=status=3 and level>0 and vip>0&pagesize=20&offset=10&order=addtime desc,edittime desc")}-->

   常用排序方法:

     添加时间降序:addtime desc,倒序:addtime asc

     修改时间降序:edittime desc ,倒序: edittime asc

     推荐级别降序:level desc,倒序:level asc

     vip级别降序:vip desc,倒序:vip asc

   

   提示:order如果不传,就会默认使用mysql的排序,destoon是没有封装order默认排序的。  

     

template:

    标签模板参数,指给当前tag()调用出来的内容赋给给一个循环模板展示,使用方法:&template=list-sell

    标签模板存放在模板目录的 tag目录下面,我们要调用哪个模板就&template=模板文件名,  文件名不带.htm

    示例:

    <!--{tag("moduleid=5&condition=status=3 and level>0 and vip>0&pagesize=20&offset=10&order=addtime desc,edittime desc&template=list-sell")}-->

   

    不传template参数,tag()函数会默认调用tag目录下的list.htm模板。

    不调用标签模板,在当前页面自定义模板,template的值设为null: &template=null

    然后标签语句也得做相应的修改,用loop在当前页面循环,具体请看上一节课的详细介绍。

   

fields:

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

    以上是官方的介绍,看了也能明白了,就是循环模板中要调用哪些字段,就把哪些字段用,隔开传给fields。

   

    示例:  

    <!--{tag("moduleid=5&condition=status=3 and level>0 and vip>0&pagesize=20&offset=10&lields=title,addtime,&order=addtime desc,edittime desc&template=list-sell")}-->  


以上的参数是比较重要的一些可选参数,下面部分参数都是一些不常用的,解释就比较简单了,大家请自行研究实验。


catid:

   调用指定分类下的信息,用法&catid=10

   

areaid:

   调用指定地区的信息,用法:&areaid=1, 一般用来调用当前分站的信息,如:&areaid=$cityid        

   

showcat:    

   需要调用当前信息的分类名称和分类连接时传入,用法:&showcat=1   showcat的值只能是1

   然后标签模板中调用 {$t[caturl]} 分类连接,{$t[catname]} 分类名称    


showpage 和 page:

   tag()自带的分页参数,showpage和page必须一起使用才能正常分页,使用方法: &showpage=1&page=$page, 参数值是固定的。

   然后在标签模板中传入 {$pages} 即可实现分页。

    提示:tag()使用showpage和page时,必须使用标签模板,template的值不能为null,

       

length:

   控制标题长度用的,用法:&length=20,表示标题长度为20个字符,10个汉字。


debug:

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


自定义参数:

   自定义参数只能在标签模板方式下使用,在当前页面自定义循环模板是无效的。

   使用方法: &参数名=参数值,如:&dtmoban=123456,  在标签模板中使用 {$dtmoban} 调出的值便是 123456

 
举报收藏 0打赏 0评论 0
 
更多>同类知识常识
推荐图文
推荐知识常识
点击排行
网站首页  |  关于我们  |  支付方式  |  联系我们  |  隐私政策  |  法律声明  |  使用协议  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鲁ICP备16014150号-8