dede点击文章中图片切换到下一页方法

2017-04-13 21:00:41 dedecms

在做网站的时候经常会遇到单击图片进入下一页的方法。今天

笔记部落

就拿dedecms5.7来举例说明:

修改 include/arc.archives.class.php 

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

function ClickPicNext($ismake=1,$aid,&$body) 

global $cfg_rewrite; 

if($this->NowPage!=$this->TotalPage) 

$lPage=$this->NowPage+1; 

if($ismake=0) 

$body=preg_replace("/<(img|IMG)(.*)(src|SRC)=[\"|'| ]{0,}((.*)>)/isU","点击图片,进入下一页<br/><a href='".$this->NameFirst."_".$lPage.".".$this->ShortName."'>"."\${0}"."</a>",$body); 

else 

//静态页

$PageList="<a href='".$this->NameFirst."_".$lPage.".".$this->ShortName."'>"."\${0}"."</a>"; 

//动态页

//$PageList="<a href='view.php?aid=$aid&pageno=$lPage'>"."\${0}"."</a>"; 

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; 

然后,查找$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]); 

再者,查找$this->PreNext['next'] = "下一篇:<a href='$mlink'>{$nextRow['title']}</a> ";在其下面添加 

$this->PreNext['imgnext'] ="<a href='$mlink'>"."\${0}"."</a>";

其次,查找$this->PreNext['next'] = "下一篇:没有了 ";在其下面添加 

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

最后.查找 

else if($gtype=='next') 

$rs = $this->PreNext['next']; 

}

在其下面添加 

else if($gtype=='imgnext') 

$rs = $this->PreNext['imgnext']; 

至此,dede5.7点击文章中图片切换到下一页方法,非常简单。