查看: 54|回覆: 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

主題

1250

回帖

7621

積分

琼殿精英

金币
6371
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2011-10-11
發表於 5 天前 | 顯示全部樓層
感谢分享!

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

补充一下:

如果觉得每次都要新建模板麻烦,也可以直接在模板里用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:qiongdian@foxmail.com

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

在本版发帖返回顶部