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=\"'[email protected]'\" target=\"_blank\">'[email protected]'</a>"';else @me = ' '; {/dede:field.source};
   $(".arc_body").prepend(htmlstr);
});

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

版权声明:
作者:王金阁
链接:https://www.nnbbxx.net/post-6944.html
来源:王金阁博客
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
< <上一篇
下一篇>>