有时候大家希翼在某个标签所显示的字段为空时什么也不显示,比如下面这种情况:转自:{dede:fieldname='source'/},如果这篇文章是原创的,那么很显然显示的结果是“转自:”,这让用户以为你这篇文章没写完。所以我..
有时候大家希翼在某个标签所显示的字段为空时什么也不显示,比如下面这种情况:
转自:{dede:field name='source'/},
如果这篇文章是原创的,那么很显然显示的结果是“转自:”,这让用户以为你这篇文章没写完。
所以大家需要先判断当前字段的值,然后做相应的处理。
有两种办法:
(1)判断为空,则改变当前html元素的样式:display:none;
1 |
<div {dede:field. source runphp= 'yes' } if (@me == "" ) @me = "style='display:none'" ; else @me = "" ; {/dede:field. source }> |
2 |
{dede:field name = 'source' /} |
|
(2)直接控制输出:
这个例子是这样的,为了更好的利于seo,我把转载地址用js输出,这样搜索引擎就不会传递权重。
1 |
jQuery(document).ready( function ($) { |
2 |
var htmlstr = {dede:field. source runphp= 'yes' } if (@me<> '' )@me = '"转自 <a href=\"' .@me. '\" target=\"_blank\">' .@me. '</a>"' ; else @me = ' ' ; {/dede:field. source }; |
3 |
$( ".arc_body" ).prepend(htmlstr); |
|
其中.arc_body是我要插入“转载自 http://***"内容的div。注意这里对htmlstr
字符串的构造要相当小心,不然就算htmlstr
能输出正确的字符串,$(
".arc_body"
).prepend(htmlstr);
也不会实行。