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

    织梦DedeCMS列表页第一页跟其它页使用不同模板的
    POST TIME:2018-03-19 17:46

    有时候我们需要让织梦列表页的第一页跟第二页以及后面的页面的展示效果不同,使用不同的模板,但是目前网上也没有其他比较好的方案,那么下面织梦技术研究中心就给大家介绍一个最简单的办法,通过修改文件来为栏目列表页第一页单独指定一个模板,其余页面则调用另一个模板。

    具体修改的文件以及代码如下:

    1、找到并打开include/arc.listview.class.php文件,在里面大约第397行的位置找到Display函数,找到如下代码:

    $this->ParseTempletsFirst();

    在这句代码的上面添加以下代码:

    if($this->PageNo>1){
     $tempfile = $GLOBALS['cfg_basedir'].$GLOBALS['cfg_templets_dir']."/".$GLOBALS['cfg_df_style']."/list_article2.htm";
    $this->dtp->LoadTemplate($tempfile); 
    }

    上面的代码是判断当列表页数大于1时,织梦就会调用list_article2.htm来作为当前列表页模板了。

    2、添加以上代码后,在动态浏览栏目时已经能够成功实现了,但会生成栏目静态HTML页后,仍然不能正常调用,还需要继续修改。我们继续在include/arc.listview.class.php文件里面找到如下代码:

    $this->ParseDMFields($this->PageNo,1);

    在这句代码的上面添加以下代码:

    if($this->PageNo>1){
      $tempfile = $GLOBALS['cfg_basedir'].$GLOBALS['cfg_templets_dir']."/".$GLOBALS['cfg_df_style']."/list_article2.htm";
     $this->dtp->LoadTemplate($tempfile);
      $this->ParseTempletsFirst(); 
    } 

    修改到这里之后无论是静态页还是动态页都能达到理想的效果了。

    3、但是如果多个内容模型使用了多个列表页的模板,那么每个内容模型的栏目列表页的第二页都会用list_article2.htm来作为模板,这样我们需要进行修改,具体如下:

    将第1步跟第2步里面的下面这段代码:

    $tempfile = $GLOBALS['cfg_basedir'].$GLOBALS['cfg_templets_dir']."/".$GLOBALS['cfg_df_style']."/list_article2.htm";

    修改为:

    $tmpdir = $GLOBALS['cfg_basedir'].$GLOBALS['cfg_templets_dir'];
    $tempfile = str_replace("{tid}",$this->TypeID,$this->Fields['templist']);
    $tempfile = str_replace("{cid}",$this->ChannelUnit->ChannelInfos['nid'],$tempfile);
    $tempfile = $tmpdir."/".$tempfile;
    $tmpfile2 = substr($tempfile,0,-4);
    $tempfile = $tmpfile2."2.htm";

    这样系统就会自动去获取当前内容模型列表页模板后面加了2的模板,例如图集列表页的第一页的模板是list_image.htm,那么图集第二页的模板就是list_image2.htm了,这样,就方便多了。


    
    关于我们 | 付款方式 | 建站知识 | 增值服务 | 网站模板
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

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

     打开微信

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