网页特效代码_站长素材站移动版

DeDecms教程

主页 > CMS教程 > DeDecms教程 >

织梦Dedecms实现点击图片进入下一页的方法

  搞过一个美女图片站,用的是织梦的文章模型,而没有使用图集模型。使用文章模型有很多好处,比如方面采集,方便制作模板等。但是如何实现一页一张图片呢?这里用到了织梦的文章分页。不过,一般人不喜欢点击下一页,喜欢点击图片,这样方便省事。
  不少门户网站实现的都是这种效果,比较人性化,对很多网站都适用。先把修改方法整理出来,读者可以自己对照修改,也会把修改好的文件,上传到百度网盘。如果你的arc.archives.class.php文件没有做过过修改,可以使用下载的文件直接替换。特别强调,建议前一定要对arc.archives.class.php文件进行备份,修改出错后还可以还原,这个也是修改任何文件的注意事项。下面就是修改的方法:
  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="<|删| a href="view.php?aid=$aid&pageno=$lPage" data_ue_src="view.php?aid=$aid&pageno=$lPage">"."${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文件,上传到对应的目录替换对应文件,重新生成文章即可。
  以上就是为您整理的织梦Dedecms单击图片进入下一页,单击最后一张图片进入下一篇的方法。对于那些使用文章模型做图片站的朋友来说,这个非常有助提高网站用户体验和PV的方法。
(责任编辑:admin)

    468x60