织梦dedecms默认情况下导航菜单的栏目属性为“外部链接”时,点击了是直接在当前窗口打开,这样不利于SEO优化,需要修改成在新窗口中打开,但又能在导航标签里添加target="_blank",这样所有的栏目导航都是在新窗口中打开了,下面就教大家如何实现只让外部链接导航在新窗口打开,而普通导航栏目在当前窗口打开的方法。
步骤如下:
1、打开/include/taglib/channel.lib.php文件,在里面找到如下代码:
if($needRel)
{
$row['sonids'] = GetSonIds($row['id'], 0, false);
if($row['sonids']=='') $row['rel'] = '';
else $row['rel'] = " rel='dropmenu{$row['id']}'";
}
在下面添加如下代码:
$row['target'] = ($row['ispart']==2) ? "target=_blank" : "";
添加完成后保存。
2、在模板head.htm里面的导航标签的<a>标签里面添加一个[field:target/],示例:
{dede:channel type='top' row='9' currentstyle="<li class='on'><a href='~typelink~' ~rel~><span>~typename~</span></a></li>"}
<li><a href='[field:typeurl/]' [field:rel/] [field:target/]><span>[field:typename/]</span></a></li>
{/dede:channel}
这样织梦dedecms就可以自动判断给外部链接导航添加target=_blank属性,点击新窗口打开,而正常的导航则不会在新窗口打开。