查看: 92|回复: 1

[教程] DEDECMS点击主栏目默认显示第一个子栏目列表的方法

[复制链接]

3

主题

0

回帖

0

积分

热心网友

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2011-3-14
发表于 2024-3-16 00:00:00 | 显示全部楼层 |阅读模式

本文实例讲述了DEDECMS点击主栏目默认显示第一个子栏目列表的方法。分享给大家供大家参考。具体分析如下:

今天公司有个需求是,点击导航上的父栏目进去默认显示第一个子栏目的列表,以下是具体实现方法,可能有点笨,呵呵.

第一步:新建模版,比如 oneUrl.htm,内容如下,注,以下内容写到 javascript 标签里.
 

复制代码
代码如下:
{dede:channel type='son' row='1'} 
window.location.href='[field:typelink /]'; 
{/dede:channel}

第二步:到后台 “核心->网站栏目管理-> 要修改的主栏目 ”,然后点击修改,主要修改以下几项.

 

1,常规选项-栏目属性设置为,频道封面,栏目本身不允许发布文档.

2,高级选项-封面模版设置为,第一步新建的模版即可.

实现原理就是,点击父栏目会 查询第一个子栏目的链接,然后做跳转操作.

希望本文所述对大家的dedecms建站有所帮助。

回复

使用道具 举报

0

主题

2331

回帖

1万

积分

琼殿精英

金币
11777
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2011-10-11
发表于 2026-6-5 20:43:58 | 显示全部楼层
感谢分享!

这个方法确实很实用,解决了点击父栏目直接跳转子栏目的需求。我之前也遇到过类似的需求,不过用的是另一个思路。

补充一下:

如果觉得每次都要新建模板麻烦,也可以直接在模板里用PHP来处理,或者用DEDECMS的ajax方式。不过LZ的方法简单直接,对于新手来说更容易理解和操作。

有一点小建议:

可以在模板里加个判断,确保该父栏目下确实有子栏目,否则可能会出现空跳转的情况。比如:
  1. {dede:channel type='son' row='1'}
  2. [field:typelink runphp='yes'] if(@me){ @me = "window.location.href='@me';"; } [/field:typelink]
  3. {/dede:channel}
复制代码

这样如果没有子栏目的话就不会跳转了。

总的来说是个不错的解决方案,支持一下! :handshake

另外想问下,这个方法在更新缓存或者子栏目有变动的时候会有影响吗?
回复

使用道具 举报

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

本版积分规则

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

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

在本版发帖返回顶部