欢迎来到DT模板堂 登录 注册
DT教程
当前位置:首页 >destoon模板制作教程> 给tag()参数正确传值方法

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

发表:DESTOON模板堂(dtmoban.com) 发表时间:2016-07-27
给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()讲解也就算完毕,接下来课程我们再学习下其它三个标签函数。        



电话: 1392 8916 720   客服QQ:56667115

© 2014-2015 DESTOON模板堂(dtmoban.com) 版权所有,并保留所有权利。

二维码

扫一扫
获取更多资讯