tag()标签的正确传值方式

给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']."'
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值