DEDECMS 模板中心

您现在的位置:主页 > 织梦大学 > 站长手记 >

如何让织梦栏目外部链接在新窗口中打开-新方法

来源: 编辑: 发布时间:2019-11-07热度:
织梦模板dedecms默认情况下导航里面的外部链接点击了是直接在当前窗口打开的,这样不利于SEO优化,我们需要修改成在新窗口中打开,但是如果直接在导航标签里面添加target属性的话所...
织梦模板dedecms默认情况下导航里面的外部链接点击了是直接在当前窗口打开的,这样不利于SEO优化,我们需要修改成在新窗口中打开,但是如果直接在导航标签里面添加target属性的话所有的栏目导航都是在新窗口中打开了,同样不是我们需要的效果,下面就教大家如何实现只让外部链接导航在新窗口打开,而普通导航栏目在当前窗口打开!
主要步骤如下:
找到并打开/include/taglib/channel.lib.php文件,在里面找到如下代码:126行左右

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" : "";
添加完成后保存,然后在模板里面的导航标签的<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}

这样就可以自动判断并给外部链接导航添加target=_blank属性了,点击就是新窗口打开,而正常的导航则不会在新窗口打开。

下面是{
dede:channelArtlist}调用方式

{dede:channelArtlist  typeid=top}
 <li>
 <a {dede:field.ispart runphp=yes}(@me==2)? @me=' target="_blank"':@me='';{/dede:field.ispart} href="{dede:field name='typeurl'/}" >{dede:field name='typename'/}</a>
 <ul style="visibility: hidden;">
  {dede:channel type=son}
   <li><a href="[field:typelink/]" [field:target/]>[field:typename/]</a></li>
  {/dede:channel}
 </ul>
 </li>
{/dede:channelArtlist}
DedeCMS问题解决

请点击在线联系我们【点击咨询解决问题】   如果您有任何织梦问题,我们将免费为您写解决教程!

用心认真写教程不易,请小打赏我们一下,多少是心意,解决问题是重点

【打赏说明】 如果您认为在本站中看的内容质量不错、或阅读后有所收获、或解决您遇到的实际问题,那不妨小金额的赞助一下尚禹科技,让尚禹科技有动力继续写出更多高质量的教程和心得。以帮助更多的人。[查看打赏记录]

    尚禹科技:承接仿站业务,价格200元起!