建站学习网,专业提供各类建站教程,网页素材,SEO资讯等建站资源!

网站模板_网站源码_网站素材_建站教程_建站学习网

当前位置:建站学习网 > 织梦教程 > 二次开发 >

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

更新时间:2017-10-10整理编辑:建站学习网阅读:0
  有时候我们需要让织梦列表页的第一页跟第二页以及后面的页面的展示效果不同,使用不同的模板,但是目前网上也没有其他比较好的方案,那么下面建站学习网就给大家介绍一个最简单的办法,通过修改文件来为栏目列表页第一页单独指定一个模板,其余页面则调用另一个模板。

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

  1、找到并打开include/arc.listview.class.php文件,在里面大约第304行的位置找到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了,这样就方便多了。

本文网址:https://www.dedexuexi.com/dedejiaocheng/eckf/3407.html

本站部分文章搜集与网络,如有侵权请联系本站,转载请说明出处。

收藏此文 赞一下!() 打赏本站

如本文对您有帮助,就请建站学习网抽根烟吧!

支付宝打赏
微信打赏
织梦dedecms自定义表单导出到excel
« 上一篇2017年09月13日
没有了
2017年09月13日下一篇 »
  • 织梦dedecms自定义表单导出到excel
    0阅读
    导出效果 不写死任何字段,不写死任何东西,修改2个文件,让织梦自定义表单自由导出到Excel表格里。 教程开始 1、\ dede\templets\diy_main.htm 找到前台预览在它的下面加入一行 a href=diy_list.php?action=exceldiyid={dede:fie...
  • 织梦dedecms后台自定义表单添加搜索功能
    0阅读
    自定义表单搜索效果 当你的自定义表单数据过多或者需要查询某个单时,给后台的自定义表单加个简单的搜索功能很有必要。 1、打开 \dede\templets\diy_main.htm 找到 内容列表/div 在它的下面加入 div class=bodytitletxt style=padding-lef...
  • 织梦dedecms地区联动在当前页面title加入选择的地区名
    0阅读
    织梦分类信息模型在列表页选择地区联动时,想要在title北京市东城区学院 - 我的网站/title 或者 title广东省广州市白云区学院_我的网站/title 效果展示 打开 \include\arc.sglistview.class.php 找到 $this-Fields[typeid] = $...
  • 织梦CMS中添加一个函数来实现任意字段的调用
    0阅读
    我们在使用织梦建站的时候,很多情况下,因为Dede底层模版的限制,我们在文章页、列表页和频道页面中想要调用一些相关的字段会有所限制,所以就想写一个函数来实现在任意页面对任意字
  • 自己编写的独立php页面 调用解析dede标签
    0阅读
    自己编写的独立php页面,直接调用dede标签是不可被解析的 需要调用dede的标签解析引擎,才可以做到像其他网页一样,被解析 假设写好的独立php页面是temp.php ?php require_once (dirname(__FILE__) . /../include/common.inc.ph...
 
QQ在线咨询