织梦dedecms做图片站实现图片进下一页方法
现在有很多朋友利用dedecms制作图片站,这样我们对图片进行分页时希望点击图片进行下一张图片浏览了,下面我们一起来看处理方法.
方法一
用dw打开根目录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=0)
- {
- $body=preg_replace("/<(img|IMG)(.*)(src|SRC)=["|'| ]{0,}((.*)>)/isU","点击图片,进入下一页
".$this->NameFirst."_".$lPage.".".$this->ShortName."'>"."${0}"."",$body);- }
- else
- {
- //静态页
- $PageList=".$this->NameFirst."_".$lPage.".".$this->ShortName."'>"."${0}"."";
- //动态页
- //$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'];
- }
至此就可以实现点击图片进入下一页了.
方法二
1、使用UltraEdite文本编辑器或者Dreamweaver打开include/arc.archives.class.php文件,注意,请不要使用记事本修改!
2、查找“//解析网站模板,对内容里的变动进行赋值”在这段话上面添加以下代码,这段代码的作用是定义一个函数,替换图片为链接:
- 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)=["|'|>)/isU","点击图片,进入下一页
NameFirst."_".$lPage.".".$this->ShortName."" data_ue_src="".$this->NameFirst."_".$lPage.".".$this->ShortName."">"."${0}"."",$body);}else{//静态页$PageList="NameFirst."_".$lPage.".".$this->ShortName."" data_ue_src="".$this->NameFirst."_".$lPage.".".$this->ShortName."">"."${0}"."";//动态页//$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)=["|'|>)/isU",$PageList,$body);}}else{$body=preg_replace("/<(img|img)(.*)(src|src)=["|'|>)/isU",$this->GetPreNext('imgnext'),$body);}return $body;}
3、查找$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]);
- }
4、保存include/arc.archives.class.php文件,上传到对应的目录替换对应文件,重新生成文章即可.