织梦仿站图文教程(来说说用修改源码来简单实现,让频道自动跳转到第一个子栏目)
优采云 发布时间: 2021-11-06 01:08织梦仿站图文教程(来说说用修改源码来简单实现,让频道自动跳转到第一个子栏目)
在做网站的时候,难免会遇到一些特殊的情况。默认的cms 无法实现。这时候就需要换个程序了,比如让频道自动跳到第一个子列,当我不熟悉DEDEcms的时候,用了一个很笨的方法用JS跳转,这对优化非常不利。但无论如何,如果客户不明白,效果还可以。
今天我就简单地通过修改源码来谈谈如何使用它。其实DEDEcms是通过ispart字段存储在数据库表@#_arctype中的,不管是不是通道。有3个Value(0,-1,1),对应网站背景通道封面,最后一列,外部连接。
所以我们只需要对程序中的ispart做一个简单的判断就可以了。废话少说,
第一步:打开/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']);
}
第2步:修改这个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']);
}
就是这样~!但是这样的通道覆盖是没有用的。其实我们可以给ispart加上另外一个值,比如“2”代表需要跳转到第一个子列,把程序中的$typeinfos['ispart']改成==1为$typeinfos[ 'ispart']==2 就可以了。 织梦 网上有很多教程,但没有一个像Free织梦()那样有更完整的教程。现在很好。学习开发和使用织梦dedecms系统。我跑西了,刚从织梦直接过来,提供织梦cms详细使用教程和织梦建站教程,包括dedecsm安装、模板开发教程、安全配置和依此类推,Dedecms 搭建网站从入门到精通就是这么简单。