DedeCMS做博客首页生成列表分页的另类实现办法

织梦DedeCMS无所不能,新闻门户,小说站,下载站,企业站 等等。

如果用DedeCMS做博客的话,会发现一个非常麻烦的问题,就是首页分页的问题,在DedeCMS中,默认情况下,只有列表页才可以分页。

网上可能现在也已经有不少方法了,今天我来说说我的实现方法。

既然织梦DedeCMS的列表页可以实现分页,那么 我们就可以用列表页来做首页,放弃织梦DedeCMS的自己的首页。

第一步:新建一个栏目,把栏目的生成目录改到根目录,博客的所有栏目都放在这个栏目下面

/惊讶


第二步:这样设置之后,其它地方都没有啥问题了,就是在position调用的时候就会出问题了。 会多出那个栏目来,我们需要做的就是把那个栏目不调用出来就OK了。

打开/include/typelink.class.php 找到LogicGetPosition($id,$islink)方法,在方法内部最前面增加一行代码 if($id == 1) return false;  这里的1就是需要隐藏栏目的id

//获得某类目的链接列表,递归逻辑部分
    function LogicGetPosition($id,$islink)
    {
		if($id == 1) return false;
        $this->dsql->SetQuery("SELECT id,reid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath FROM idea_arctype WHERE id='".$id."'");
        $tinfos = $this->dsql->GetOne();
        if($islink)
        {
            $this->valuePosition = $this->GetOneTypeLink($tinfos).$this->SplitSymbol.$this->valuePosition;
        }
        else
        {
            $this->valuePositionName = $tinfos['typename'].$this->SplitSymbol.$this->valuePositionName;
        }
        if($tinfos['reid']>0)
        {
            $this->LogicGetPosition($tinfos['reid'],$islink);
        }
        else
        {
            return 0;
        }

    }