• 网站认证
  • 教程:4,130|
  • 话题:2637|
  • 评论:14|
  • 会员:1090|
    • 中文
    • English
  • 注册
  • 查看作者
  • dede 判断字段为空时不显示

    有时候我们希望在某个标签所显示的字段为空时什么也不显示,比如下面这种情况:

    转自:{dede:field name='source'/},

    如果这篇文章是原创的,那么很显然显示的结果是“转自:”,这让用户以为你这篇文章没写完。

    所以我们需要先判断当前字段的值,然后做相应的处理。
    有两种办法:

    (1)判断为空,则改变当前html元素的样式:display:none;

    <div {dede:field.source runphp='yes'} if(@me == "") @me = "style='display:none'";else @me = ""; {/dede:field.source }>
    {dede:field name = 'source' /}
    </div>

    (2)直接控制输出:

    这个例子是这样的,为了更好的利于seo,我把转载地址用js输出,这样搜索引擎就不会传递权重。

    jQuery(document).ready(function($) {
    var htmlstr = {dede:field.source runphp='yes'}if(@me<>'' )@me = '"转自 <a href=\\"'.@me.'\\" target=\\"_blank\\">'.@me.'</a>"';else @me = ' '; {/dede:field.source};
    $(".arc_body").prepend(htmlstr);
    });

    其中.arc_body是我要插入“转载自 http://***"内容的div。注意这里对htmlstr字符串的构造要相当小心,不然就算htmlstr能输出正确的字符串,$(".arc_body").prepend(htmlstr);也不会执行。

  • 0
  • 0
  • 0
  • 313
  • 请登录之后再进行评论

    登录
    小可爱
    个人签名:他太懒了,什么都没有写
    关注0 粉丝0 喜欢0内容1542
    未知

    TA的最新发布

      • 总打赏排行
      • 今日收益排行
    • 牛魔王
      牛魔王
      他太懒了,什么都没有写
    • 沉沦༉
      沉沦༉
      他太懒了,什么都没有写
    • 暂没有数据

    • 做任务
    • 实时动态