网络建站知识发布于分享网站

当前位置:首页>>新闻中心>>CMS教程>>dedecms教程

Dedecms列表页首页与其他页使用不同模板的方法

时间:2025-03-31 12:05:26    来源:    人气:0

在网站建设中,有时我们需要让列表页的第一页与其他页面样式不同。然而,直接通过修改 `dede:list` 标签可能无法达到理想效果。本文将介绍一种简单的方法,为首页指定单独的模板页,其余页面则调用另一个模板页。
修改方法如下:
首先,打开 `include` 目录下的 `arc.listview.class.php` 文件,找到 `Display` 函数(大约在 397 行)。然后找到以下代码:


$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 时,Dedecms CMS 将会调用 `list_article2.htm` 作为列表页模板。
接下来,在动态浏览栏目时,此功能已可实现。但生成栏目静态 HTML 页面后,可能会发现未达到预期效果。此时,搜索以下代码:

$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();
}
    

至此,无论是静态页还是动态页,都可以达到理想效果。
您可能会问,如果一个栏目有多个列表页模板,难道每个栏目的第二页都使用 `list_article2.htm` 作为模板吗?解决办法是将以下代码:

$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`。这样,操作起来更加方便。
希望以上内容对您有所帮助!

相关文章

  • Dedecms 删除文档时同时清除文章中图片的方法

    Dedecms 删除文档时同时清除文章中图片的方法

    在网站建设与维护的过程中,优化代码结构和功能是提升网站性能的重要步骤。本文将介绍如何通过自定义函数实现文章删除时自动清理相关资源的功能,从而提高系统的整洁性和存储效率。以下是具体的操作步骤及代码实现。首先, 在 `/include` 目录下创建一个名为 `extend.func.php` 的文件...
    2025-03-31
  • Dedecms上传图片提示302错误ERROR的解决方法

    Dedecms上传图片提示302错误ERROR的解决方法

    在进行图片上传操作时,用户可能会遇到302错误以及带有ERROR提示的图片上传失败问题。这些问题可能由多种原因引发,因此本文将对这些情况进行整理,以帮助大家更有效地定位并解决问题。 第一种情况:图片文件本身损坏。 这种情况会导致系统返回ERROR错误提示,不过发生概率较低。如果怀疑是图片损坏导致的...
    2025-03-31
  • DEDECMS模板使用教程

    DEDECMS模板使用教程

    如果您正在寻找一种高效的方法来使用Dedecms模板搭建网站或论坛,那么本文将为您提供详尽的指导。从模板解压到最终完成配置,每一步都将清晰呈现,帮助您快速掌握整个流程。 第一步:解压Dedecms模板 将下载的Dedecms模板文件解压出来,确保所有文件完整无误。如下图所示: 第二步:获取D...
    2025-03-31
  • Dedecms Dede 附加表自定义字段与主表文章关联方法

    Dedecms Dede 附加表自定义字段与主表文章关联方法

    在使用DedeCMS开发装修网站时,设计师和设计作品之间的关联是一个重要的功能需求。通常情况下,文章(作品)的内容部分存储在主表dede_addonarticle中,而自定义字段则存储在附加表dede_archives中。为了实现这一功能,可以采用以下两种方法。 ① 根据发布人调用相关文章; ...
    2025-03-31

公众号