给tag()参数正确传值方法
分享好友 学院首页 频道列表

给tag()参数正确传值方法

2016-09-02 22:063220
给tag()参数传值的三种方式

一、传数字
   传数字是最简单的,直接在参数的等于号后面写上要传的数字就行了,如:&catid=1205

二、传文字(字符串)
    传文字类型的字符串,需要给文字加上''(单引号),如:&title='dt模板堂'。
    字符串类型的值,在tag()自带的参数只有 &condition 的值里会用到,其它参数都用不上。
    示例:
        <!--{tag("moduleid=5&condtion=status=3 and title like '%dt模板堂%'&pagesize=10&order=addtime desc")}-->
    
三、传变量
    传变量有三种情况
    1、变量值为数字
       例如我们有一个变量:$catid = 1025;  这个变量是在php里面申明的,或者从url中获取到的。
       tag()中传值方法:  &catid=$catid
       就像传数字一样,直接将变量写到等于号后面就好了。
    
    2、变量值为字符串
       例如我们有一个变量:$kw = 'dt模板堂';
       tag()中传值方法: &condition=title like '%$kw%'   
       字 符串传只有在condtion参数的值里会用到
       
    3、变量名为二维
       例:我们有一个项目,先要从分类表里调出当前频道的顶级分类,然后再循环调出每个分类的子分类
       
       代码如下:
       
       <!--{php $tags=tag("table=category&condition=parentid=0 and moduleid=5&pagesize=10&order=listorder asc&template=null");}-->
       {loop $tags $i $t}
       <li><a href="{cat_url($t[catid])}">{$t[catname]}</a></li>
       
       {/loop}
       
       通过上面的代码,我们已成功调出顶级分类了,有过其它cms模板标签调用的小伙伴一定,需要调出子分类,需要在大循环里再把分类调用代码再小循环一次,并且把小循环的条件中分类上级id改成大循环中获取的 分类id。
       
       我们来看顶级分类调用中condition的值中我们使用prarentid=0,表示调用prarentid值为0的分类,也就是顶级分类。
       如果我们调出某个顶级分类下面的子分类,只需要把这个0改成对应的顶级分类的id就行了。
       现在我们获取的一大分类的id是一个变量 $t['catid'],按照我们的思路将调用代码复制一遍,插入循环中,并且把prarentid=0改成prarentid=$t['catid']
       
       代码如下:
       
       <!--{php $tags=tag("table=category&condition=parentid=0 and moduleid=5&pagesize=10&order=listorder asc&template=null");}-->
       {loop $tags $i $t}
       <li><a href="{cat_url($t[catid])}">{$t[catname]}</a></li>
         <!--二级分类循环开始-->
         <!--{php $sub=tag("table=category&condition=parentid=d=$t['catid'] and moduleid=5&pagesize=10&order=listorder asc&template=null");}-->
       {loop $sub $k $v}
       <li><a href="{cat_url($v[catid])}">{$v[catname]}</a></li>
        <!--二级分类循环结束-->
       {/loop}
         
       {/loop}
       
       改好了保存到模板里,刷新下页面,是不是报错了。
       这是因为我们在传入二维变量作为值时,没有使用php连接符的原因,原理我们这里就不解释了,做模板不要求我们会php。
       我们只需要将代码修改下
         parentid=d=$t['catid'] 改成 parentid=d=".$t['catid']."
       这样就不会报错了,正常调出子分类。
         
      <!--{php $tags=tag("table=category&condition=parentid=0 and moduleid=5&pagesize=10&order=listorder asc&template=null");}-->
       {loop $tags $i $t}
       <li><a href="{cat_url($t[catid])}">{$t[catname]}</a></li>
         <!--二级分类循环开始-->
         <!--{php $sub=tag("table=category&condition=parentid=d=".$t['catid']." and moduleid=5&pagesize=10&order=listorder asc&template=null");}-->
       {loop $sub $k $v}
       <li><a href="{cat_url($v[catid])}">{$v[catname]}</a></li>
        <!--二级分类循环结束-->
       {/loop}
         
       {/loop}
          
       特别注意: 如果$t[catid]的变量值不是数字是字符串,得加上加''单引号,修改结果:  parentid=d='".$t['catid']."'

本章小结:
     本节课的要点是传变量时的三种情况,变量为二维时记得加连接符,变量值为字符串要加单引号 ''。
     到了这里tag()讲解也就算完毕,接下来课程我们再学习下其它三个标签函数。
作者:DESTOON模板堂
免责声明:凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。
反对 0
举报 0
收藏 0
打赏 0
get_maincat()分类调用方法 get_mainarea()详解
get_maincat()是destoon系统封装好的一个调用分类的函数调用方法为:{php $maincat=get_maincat(参数一,参数二,参数三);}{loop

0评论2016-09-02349

destoon自定义函数获取分类名称等等
需要在api/extend.func.php 文件中加入的函数获取分类名称 cat_name($catid) 传入分类id获取地区名称 area_name($areaid) 传入地

0评论2016-08-12511