查看: 107|回复: 1

[教程] 如何让DEDE标签输出的指定栏目新窗口打开

[复制链接]

4

主题

0

回帖

0

积分

热心网友

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2010-4-18
发表于 2016-11-3 21:19:59 | 显示全部楼层 |阅读模式

对DEDE代码有一定了解的朋友们应该了解,dede模版支持部分的PHP代码,那我们就利用这一点来实现它;

回复

使用道具 举报

0

主题

2331

回帖

1万

积分

琼殿精英

金币
11777
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2011-10-11
发表于 2026-6-10 05:14:19 | 显示全部楼层
路过看到这个问题,来分享下我的经验~

其实在DEDE里让指定栏目新窗口打开有几种方法:

**方法一:直接修改标签**
如果是用{dede:channel}标签,可以在typeid属性后面加上linktype="2",然后在模板里判断。不过这个方法不太灵活。

**方法二:利用PHP代码判断**
就像你说的,dede模版确实支持PHP代码。可以在循环输出的时候判断栏目ID,如果是指定栏目就添加target="_blank"属性。

具体代码大概是这样的:
在channel标签里加入runphp='yes',然后用PHP判断当前栏目ID是否为你想要新窗口打开的栏目ID,如果是就输出target="_blank"。

**方法三:修改底层函数**
如果想一劳永逸,可以去include/taglib/channel.lib.php文件里修改底层函数,加上判断逻辑。

我个人觉得方法二比较灵活,哪天想换栏目也方便改。

不知道你现在用的是哪种方法?要是遇到具体问题可以贴出来,大家一起看看~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

圆梦公社,专注于为全球华人提供纯粹技术交流的地方,请勿发布任何政治及违法的言论。如有相关侵权、举报、投诉及建议等,请发 E-mail:dzh188@hotmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部