美文网首页
织梦dede arclist标签里怎么用 if

织梦dede arclist标签里怎么用 if

作者: 亚讯 | 来源:发表于2019-03-26 16:48 被阅读0次
     {dede:arclist row='6' titlelen='20' imgwidth='80' imgheight='107' addfields='body' typeid='15' channelid='1'}
     <img src="[field:litpic/]" />
    
     {dede:if field.shorttitle != '' }
     <a href="[field:shorttitle/]" class="butten" target="_blank">查看详细</a>
     {else}
     <a class="butten" target="_blank">敬请期待</a>
     {/dede:if}
     {/dede:arclist}
    

    在列表循环里,我想用if,当字段shorttitle 不为空时,显示“查看详细”,反之显示“敬请期待”。
    我这里的if是错的。请问该怎么写啊?

    回答一:

    [field:array runphp="yes"]
    if(@me['shorttitle']!=''){
    @me = '<a href="'.@me['arcurl'].'" class="butten" target="_blank">查看详细</a>';
    }else{
    @me = '<a class="butten" target="_blank">敬请期待</a>';
    }
    [/field:array] 
    

    回答二:

    [field:shorttitle runphp="yes"] 
    if(empty(@me)){
      @me="<a class=\"butten\" target=\"_blank\">敬请期待</a>";
    } else{ 
      @me='<a href="@me" class="butten" target="_blank">查看详细</a>';
    }
    [/field:shorttitle] 
    

    再举个例子
    需要使用到[field:array]标签,那么我们该如何来判断呢?我们首先要向大家介绍一个非常有用的dede标签:[field:array] 标签,该标签是标签 {dede:field name='array' /}的简写形式,该标签用在列表标签内部,例如:{dede:list}标签, {dede: arclist}等标签内部。 我们知道,在列表标签内部我们可以通过[field:字段名/]的形式得到某个数据库表字段的取值,那么当我们想要进行分支判断的时候,例如:根据风险等级取值的不同得到不同的图标路径,这个时候我们就必须借助[field:array] 标签了,[field:array] 标签标签代表查询得到的数据库表中的一条记录,具体的判断代码如下:

      [field:array runphp='yes']            
        if(@me['risklevel']=="HR")@me="HR.png";
        else if(@me['risklevel']=="D")@me="D.png";
        else if(@me['risklevel']=="AA")@me="AA.png";
      [/field:array]
    

    上面的代码是一种分支条件输出语句,@me代表的就是输出变量,刚进入标签field:array时,@me代表数据库的一条记录,其数据类型是数组,我们根据其中risklevle的取值来判断,从而将@me设置成不同的值,当退出标签field:array时,@me的值就会被显示在原位置。

    这个标签的功能非常强大,它适合于我们最常见的场景,当我们在模板页面中需要根据特定的条件来进行if分支判断来显示不同的内容时,采用field:array标签将给我们带来极大的方便。

    相关文章

      网友评论

          本文标题:织梦dede arclist标签里怎么用 if

          本文链接:https://www.haomeiwen.com/subject/ykknvqtx.html