• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    织梦dede让频道自动跳转到第一个子栏目
    POST TIME:2020-04-10 18:55
    平时做网站的时候,难免遇上一些特殊情况,默认的CMS是无法实现的,这时就需要改程序,就比如说,让频道自动跳转到第一个子栏目,当我还对DEDECMS不熟悉的时候,采用了一个非常笨的方法,用JS去跳转,这对优化非常不好。但是反正客户不懂,效果能实现就OK了。
    今天我就来说说用如果通过修改源码来简单实现,其实DEDECMS在数据库表@#_arctype中,是否为频道,是用ispart这个字段去保存的,它有3个值(0,-1,1),对应的网站后台的 频道封面、最终栏目、外部连接。
    所以我们只需要在程序中对ispart进行一个简单的判断,就OK。废话不多说了,

    第一步:打开/include/helpers/channelunit.helper.php 打开下面的代码 GetOneTypeUrlA函数 /** * 获取某栏目的url * * @param array $typeinfos 栏目信息 * @return string */ function GetOneTypeUrlA($typeinfos) { return GetTypeUrl($typeinfos['id'],MfTypedir($typeinfos['typedir']),$typeinfos['isdefault'], $typeinfos['defaultname'],$typeinfos['ispart'],$typeinfos['namerule2'], $typeinfos['moresite'],$typeinfos['siteurl'],$typeinfos['sitepath']); } 第二步:对这个GetOneTypeUrlA函数进行修改,修改后如下
    /** * 获取某栏目的url * * @param array $typeinfos 栏目信息 * @return string */ function GetOneTypeUrlA($typeinfos) { global $dsql; if($typeinfos['ispart']==1) { $typeinfos = $dsql->GetOne('select * from idea_arctype where reid='.$typeinfos['id'].' ORDER BY sortrank'); } return GetTypeUrl($typeinfos['id'],MfTypedir($typeinfos['typedir']), $typeinfos['isdefault'],$typeinfos['defaultname'], $typeinfos['ispart'],$typeinfos['namerule2'], $typeinfos['moresite'],$typeinfos['siteurl'],$typeinfos['sitepath']); } 就这样OK了~! 但是这样频道封面就没有用了,其实我们还可以去给ispart增加一个其它的值,比如“2”来代表需要跳转到第一个子栏目的,把程序中的$typeinfos['ispart']==1改成$typeinfos['ispart']==2就OK了。
    
    关于我们 | 付款方式 | 建站知识 | 增值服务 | 网站模板
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!