dedecms修改php文件实现文章页点击图片翻页

发表于 2019-08-02   |   分类于 dedecms

查找
解析模板,对内容里的变动进行赋值
在上面添加

/**
*  使用正则,对内容里的图片进行替换添加链接
*/
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","点击图片,进入下一页<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='/$aid-$lPage.html'>"."\${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']} ";

//$mlink = str_replace("/plus/view.php?aid=","/",$mlink);//这行是替换成伪静态链接时候使用的,你可以无视他
//print_r($mlink);
$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']; 
}

最后附上改好的文件。
arc.archives.class.rar

© 2019 Powered by Typecho & Theme Quark