在使用 DedeCMS 构建网站时,图集功能是一个非常实用的模块。然而,默认情况下,当用户点击到最后一页时,系统会提示“没有了哦”,这可能会降低用户体验。为了提升用户的浏览体验,我们可以对 DedeCMS 进行一些简单的修改,使得在点击图集最后一页时,能够自动跳转到下一篇图集。

 

下面是实现这一功能的具体步骤:

 

第一步:修改 include/arc.archives.class.php 文件

 

1. 查找“解析模板,对内容里的变动进行赋值”这段话,并在其上方添加以下代码:


function ClickPicNext($ismake=1,$aid,&$body) {
    global $cfg_rewrite;
    if($this->NowPage != $this->TotalPage) {
        $lPage = $this->NowPage + 1;
        if($ismake == 1) {
            $body = preg_replace("/<(img|IMG)(.*)(src|SRC)=[\\\\"|'| ]{0,}((.*)>)/isU", "点击图片,进入下一页
" . "\\\\${0}" . "", $body); } else { $PageList = "" . "\\\\${0}" . ""; if($cfg_rewrite == 'Y') { $PageList = str_replace(".php?aid=", "-", $PageList); $PageList = preg_replace("/&pageno=(\\\\d+)/i", "-\\\\\\\\1.html", $PageList); } $body = preg_replace("/<(img|IMG)(.*)(src|SRC)=[\\\\"|'| ]{0,}((.*)>)/isU", $PageList, $body); } } else { $body = preg_replace("/<(img|IMG)(.*)(src|SRC)=[\\\\"|'| ]{0,}((.*)>)/isU", $this->GetPreNext('imgnext'), $body); } return $body; }

 

2. 查找以下代码:

 

$this->Fields[$this->SplitPageField] = $this->SplitFields[$pageNo - 1];

 

在其下方添加以下代码:

 

if($ClickPicNext){
            $this->Fields[$this->SplitPageField]=$this->Fields[$this->SplitPageField];
            }else{
            $this->Fields[$this->SplitPageField]=$this->ClickPicNext($ismake,$this->Fields['id'],$this->Fields[$this->SplitPageField]);
            }

 

3. 查找以下代码:

 

$this->PreNext['next'] = "下一篇:{$nextRow['title']} ";

 

在其下方添加以下代码:

 

$this->PreNext['imgnext'] ="".""\\\\${0}"."";

 

4. 查找以下代码:

 

$this->PreNext['next'] = "下一篇:没有了 ";

 

在其下方添加以下代码:

 

$this->PreNext['imgnext'] ="\\\\${0}";

 

5. 查找以下代码:

 

else if($gtype=='next')
        {
            $rs =  $this->PreNext['next'];
        }

 

在其下方添加以下代码:

 

else if($gtype=='imgnext')                 
{  
$rs =  $this->PreNext['imgnext'];    
}

 

完成以上步骤后,您的 DedeCMS 图集将实现点击最后一页时自动跳转到下一篇图集的功能。这样不仅可以提升用户体验,还能让网站更加人性化。赶紧动手试试吧!