Dedecms标签channel调用 如何让外链栏目在新窗口中打开

今天在用织梦Dedecms做网站使用{dede:channel}{/dede:channel}标签调用栏目的时候,发现创建的栏目当中有一个外链,当点击这个外链的时候,打开链接的方式为当前窗口打开,这样我自己本身的这个网站就会被“默默的”关闭了。这样的效果显然不是我们所想要的,于是乎就总结了以下三种方式解决这个问题。
 第一种,也是最简单的解决方式,即查找模板head.htm,将<li><a href=’[field:typeurl/]‘>[field:typename/]</a></li>{/dede:channel} 替换成下面的方式 <li><a href=’[field:typeurl/]‘ target=”_blank”>[field:typename/]</a></li>{/dede:channel} ,当然找这段代码要根据你自己调用栏目的模板而定。处理完成之后,后台更新网站首页、更新栏目即可,但是我们却发现所有的栏目都会在新窗口打开,这样每打开一个栏目就会新开一个浏览器窗口,而我们也就要多关闭一个浏览器窗口,显然这种效果也不是我们所想要的效果。那么如何让Dedecms指定的栏目在新的窗口打开呢,请看第二种方法。
 第二种方法相对于第一种方法效果会好一点。与上面方法第一种一样,找到调用栏目标签的<li><a href=’[field:typeurl/]‘>[field:typename/]</a></li>{/dede:channel},将它替换为<li><a href=’[field:typeurl/]‘ [field:id runphp='yes'] if(@me==’5′){ @me=”target=’_blank'”;} else {@me=””;}[/field:id]>[field:typename/]</a></li>{/dede:channel}注意:上面的“5”就是你想要打开新开窗口的栏目ID,写上你的ID即可。自此,通过此种方法修改模板后,我们就能将指定栏目是外链的链接使用新窗口打开方式,相对于第一种方法,这种方法实现的效果有了一些进步吧,O(∩_∩)O~ !但是,此种方法却是也有一定的机械性。试想一下,如果我们在后台再添加一个这样的外链栏目的话,那该如何是好呢?相对于程序员来说,我们懂网页,懂得如何去仿照第二种方法去修改标签,但是这些对于客户来说确是一窍不通的,我们总不能够让客户不要去添加这样的外链栏目亦或者我们得要再次去修改我们的模板呢。那么有没有一劳永逸的方法呢?请看第三种方式。
 第三种方式其实是对第二种方式稍加改动了下,即判断的字段有所不同而已。这个字段是我在后台更改栏目当中关于栏目属性一栏找出的栏目表中的字段。当然你也可以找到其他的字段,只要这个字段和其他的栏目的内容信息不同就好。下面说说我的方法。首先找到代码<li><a href=’[field:typeurl/]‘>[field:typename/]</a></li>{/dede:channel} ,用下面的代码替换掉:<li><a href=’[field:typeurl/]‘ [field:ispart runphp='yes'] if(@me==2){ @me=”target=’_blank'”;} else {@me=””;}[/field:ispart]>[field:typename/]</a></li>{/dede:channel} (其中栏目属相 2 为外部链接),然后更新前台首页、栏目,打开前台,看一下效果,怎么样?是不是只是外链栏目是新窗口打开方式,其他的都是当前窗口打开时方式呢?再新创建一个外链栏目,看一下效果,怎么样?是不是自动为新窗口打开方式了呢?是不是再不用修改模板~\(≧▽≦)/~啦啦啦 ~~~ 不信的话,就去试试吧!

我是程序员

Copyright © All Rights Reserved · Proudly powered by WordPress

css.php