# dedecms如何使列表页第一页与其他页调用不同模板

*Published:* 2023-10-26
*Author:* 客服001

#### 温馨提醒

如果文章内容或图片资源失效，请留言反馈，我们会及时处理，谢谢

本文最后更新于2023年10月26日，已超过 180天没有更新



### 第一步、修改核心文件

打开 /include/arc.listview.class.php 找到，大概在第330行

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

在它的上面加入：

```
$tempfile = $GLOBALS['cfg_basedir'].$GLOBALS['cfg_templets_dir']."/".$this->TypeLink->TypeInfos['templist'];
$tempfile = str_replace("{tid}", $this->TypeID, $tempfile);
$tempfile = str_replace("{cid}", $this->ChannelUnit->ChannelInfos['nid'], $tempfile);
if ( defined('DEDEMOB') )
{
    $tempfile =str_replace('.htm','_m.htm',$tempfile);
}
if(!file_exists($tempfile))
{
    $tempfile = $GLOBALS['cfg_basedir'].$GLOBALS['cfg_templets_dir']."/".$GLOBALS['cfg_df_style']."/list_default.htm";
    if ( defined('DEDEMOB') )
    {
        $tempfile =str_replace('.htm','_m.htm',$tempfile);
    }
}
if(!file_exists($tempfile)||!is_file($tempfile))
{
    echo $this->Fields['typename']." [ID:{$this->TypeID}] ".$GLOBALS['cfg_basedir'].$GLOBALS['cfg_templets_dir']."/".$this->TypeLink->TypeInfos['templist']."模板文件不存在，无法解析文档！";
    exit();
}
if( $this->PageNo===1 )
{
    $tempfile2 =str_replace('.htm','_1.htm',$tempfile);
    if(file_exists($tempfile2) && is_file($tempfile2))
    {
        $this->dtp->LoadTemplate($tempfile2);
        $this->ParseTempletsFirst();
    }
}
else
{
    $this->dtp->LoadTemplate($tempfile);
}
```

继续找，大概在第450行的：

```
$this->ParseTempletsFirst();
```

注意是在第450行左右的这个代码，因为这个代码有3处，请认准是在大概第450行上这个找到后在它的上面加入：

```
$tempfile = $GLOBALS['cfg_basedir'].$GLOBALS['cfg_templets_dir']."/".$this->TypeLink->TypeInfos['templist'];
$tempfile = str_replace("{tid}", $this->TypeID, $tempfile);
$tempfile = str_replace("{cid}", $this->ChannelUnit->ChannelInfos['nid'], $tempfile);
if ( defined('DEDEMOB') )
{
    $tempfile =str_replace('.htm','_m.htm',$tempfile);
}
if(!file_exists($tempfile))
{
    $tempfile = $GLOBALS['cfg_basedir'].$GLOBALS['cfg_templets_dir']."/".$GLOBALS['cfg_df_style']."/list_default.htm";
    if ( defined('DEDEMOB') )
    {
        $tempfile =str_replace('.htm','_m.htm',$tempfile);
    }
}
if(!file_exists($tempfile)||!is_file($tempfile))
{
    echo $this->Fields['typename']." [ID:{$this->TypeID}] ".$GLOBALS['cfg_basedir'].$GLOBALS['cfg_templets_dir']."/".$this->TypeLink->TypeInfos['templist']."模板文件不存在，无法解析文档！";
    exit();
}
if( $this->PageNo===1 )
{
    $tempfile2 =str_replace('.htm','_1.htm',$tempfile);
    if(file_exists($tempfile2) && is_file($tempfile2))
    {
        $this->dtp->LoadTemplate($tempfile2);
    }
}
else
{
    $this->dtp->LoadTemplate($tempfile);
}
```

### 第二步、添加第一页模板文件及命名

第一页模板，在原栏目列表模板后面加\_1

例如，原列表模板是 list\_dongwu.htm

如果你想让第一页跟list\_dongwu.htm不一样的话，你可以建立一个list\_dongwu\_1.htm

系统在动态或者生成静态时，栏目列表第一页优先去找这个 \_1 的第一页模板文件，存在就输出，不存在就使用默认的原列表模板 list\_dongwu.htm

[![](https://www.xarjtc.com/wp-content/uploads/2023/10/1-2211191KT3515.png)](https://www.xarjtc.com/wp-content/uploads/2023/10/1-2211191KT3515.png)

### 第三步、更新生成

更新系统缓存，静态的生成，动态的直接查看效果