织梦DedeCMS列表页第一页跟其它页使用不同模板的办法

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

 

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

 

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

 

1

$this->ParseTempletsFirst();

 

 

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

 

1

if($this->PageNo>1){

 

2

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

 

3

$this->dtp->LoadTemplate($tempfile);

 

4

}

 

 

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

 

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

 

1

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

 

 

 

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

 

1

if($this->PageNo>1){

 

2

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

 

3

 $this->dtp->LoadTemplate($tempfile);

 

4

  $this->ParseTempletsFirst();

 

5

}

 

 

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

 

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

 

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

 

1

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

 

 

 

修改为:

 

1

$tmpdir = $GLOBALS['cfg_basedir'].$GLOBALS['cfg_templets_dir'];

 

2

$tempfile = str_replace("{tid}",$this->TypeID,$this->Fields['templist']);

 

3

$tempfile = str_replace("{cid}",$this->ChannelUnit->ChannelInfos['nid'],$tempfile);

 

4

$tempfile = $tmpdir."/".$tempfile;

 

5

$tmpfile2 = substr($tempfile,0,-4);

 

6

$tempfile = $tmpfile2."2.htm";

 

 

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值