如何让织梦dede让频道自动跳转到第一个子栏目-教程

文章介绍了在DEDECMS中如何通过修改源码实现频道自动跳转到第一个子栏目,而不是使用JS跳转,重点涉及数据库表中ispart字段的使用和GetOneTypeUrlA函数的调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

平时做网站的时候,难免遇上一些特殊情况,默认的CMS是无法实现的,这时就需要改程序,就比如说,让频道自动跳转到第一个子栏目,当我还对DEDECMS不熟悉的时候,采用了一个最笨的方法,用JS去跳转,这对优化***不好。但是反正客户不懂,效果能实现就OK了。

今天我就来说说用如果通过修改源码来简单实现,其实DEDECMS在数据库表@#_arctype中,是否为频道,是用ispart这个字段去保存的,它有3个值(0,-1,1),对应的网站后台的 频道封面、最终栏目、外部连接。

所以我们只需要在程序中对ispart进行一个简单的判断,就OK。废话不多说了,

打开/include/helpers/channelunit.helper.php 打开下面的代码 GetOneTypeUrlA函数

01

/**

02

* 获取某栏目的url

03

*

04

* @param array $typeinfos 栏目信息

05

* @return string

06

*/

07

function GetOneTypeUrlA($typeinfos)

08

{

09

global $dsql;

10

if($typeinfos['ispart']==1) {

11

$typeinfos = $dsql->GetOne('select * from idea_arctype where reid='.$typeinfos['id'].'

12

ORDER BY sortrank');

13

}

14

return GetTypeUrl($typeinfos['id'],MfTypedir($typeinfos['typedir']),

15

$typeinfos['isdefault'],$typeinfos['defaultname'],

16

$typeinfos['ispart'],$typeinfos['namerule2'],

17

$typeinfos['moresite'],$typeinfos['siteurl'],$typeinfos['sitepath']);

18

}

就这样OK了~! 但是这样频道封面就没有用了,其实我们还可以去给ispart增加一个其它的值,比如“2”来代表需要跳转到第一个子栏目的,把程序中的$typeinfos['ispart']==1改成$typeinfos['ispart']==2就OK了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大山源码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值