"景先生毕设|www.jxszl.com

织梦dede让频道自动跳转到第一个子栏目

2022-10-29 16:36编辑: www.jxszl.com景先生毕设
平时做网站的时候,难免遇上I.些特殊情况,默认的CMS是无法实现的,这时就需要改程序,就比如说,让频道自动跳转到第I.个子栏目,当我还对DEDECMS不熟悉的时候,采用了I.个最笨的方法,用JS去跳转,这对优化***不好.但是反正客户不懂,效果能实现就OK了.
今天我就来说说用如果通过修改源

 更多精彩就在: 51免费论文网|www.jxszl.com 
码来简单实现,其实DEDECMS在数据库表@#_arctype中,是否为频道,是用ispart这个字段去保存的,它有III个值(0,-I.,I.),对应的网站后台的频道封面.最终栏目.外部连接.
所以我们只需要在程序中对ispart进行I.个简单的判断,就OK.废话不多说了,

打开/include/helpers/channelunit.helper.php打开下面的代码GetOneTypeUrlA函数
/**
*获取某栏目的url
*
*@paramarray$typeinfos栏目信息
*@returnstring
*/
functionGetOneTypeUrlA($typeinfos)
{
global$dsql;
if($typeinfos[ispart]==I.){
$typeinfos=$dsql->GetOne(select*fromidea_arctypewherereid=.$typeinfos[id].
ORDERBYsortrank);
}
returnGetTypeUrl($typeinfos[id],MfTypedir($typeinfos[typedir]),
$typeinfos[isdefault],$typeinfos[defaultname],
$typeinfos[ispart],$typeinfos[nameruleII],
$typeinfos[moresite],$typeinfos[siteurl],$typeinfos[sitepath]);
}

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

原文链接:http://www.jxszl.com/biancheng/dedecms/75825.html