织梦DedeCMS列表页第一页跟其它页使用不同模板的办法
来源:互联网 发布:linux setfacl命令 编辑:程序博客网 时间:2024/04/28 14:07
有时候我们需要让织梦列表页的第一页跟第二页以及后面的页面的展示效果不同,使用不同的模板,但是目前网上也没有其他比较好的方案,那么下面织梦技术研究中心就给大家介绍一个最简单的办法,通过修改文件来为栏目列表页第一页单独指定一个模板,其余页面则调用另一个模板。
具体修改的文件以及代码如下:
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了,这样,就方便多了。
- 织梦DedeCMS列表页第一页跟其它页使用不同模板的办法
- dedecms列表页上一页下一页翻页单独调用的方法
- 将模版列功能改造成博客内容列表, 并使完成分页 (使用分页模板完成,显示上一页,下一页,第一页,最后一页,和当前第x页,共y页 。)
- 将模版列功能改造成博客内容列表, 并使完成分页 (使用分页模板完成,显示上一页,下一页,第一页,最后一页,和当前第x页,共y页 。)
- dedecms中列表页显示条数不同的解决方法
- dedecms中列表页显示条数不同的解决方法
- 织梦dedecms后台采集只能采集第一页的解决办法
- dedecms怎样设置不同的搜索页模板
- 使用分页模板完成,显示上一页,下一页,第一页,最后一页,和当前第x页,共y页 。
- dedecms 封面模板和列表模板有什么不同
- 织梦DedeCms点击文章页图片进入下一页,点击最后一页图片进入下一篇
- C# 如何给Word文档第一页设置不同的页眉和页脚
- dedecms分页样式修改 内容页 上一页 下一页
- 关于织梦列表页分页第一页和默认页的优化方案
- DedeCMS实战-----3、制作文章列表页模板
- 如何设计第一页和第二页格式不一样的报表模板
- dedecms中实现列表页面调用其它栏目的信息
- 在dedecms模板列表页、内容页调用全站文章的方法
- spring框架中的ModelMap和ModelAndView的区别
- 使用jsonp实现跨域访问的代码演示
- 用java传统线程方式实现多线程轮询执行问题
- < 笔记 > HTML
- 前端之路随笔小记——id和class的扩展
- 织梦DedeCMS列表页第一页跟其它页使用不同模板的办法
- VAE学习之路
- Linux Shell 脚本编程(4)—控制流结构
- NET连接MySQL数据库的CRUD
- freeradius在深信服AF中检测失败的解决方法
- a标签去执行javascript中的方法
- C语言 求两个矩阵相乘
- Office 2013 Professional Plus最强大激活工具,亲测可用
- 理解继承(二):构造函数的继承