当前位置 : 主页 > 基础优化 > 正文

DedeCMS文章分页点击图片到下一页

原创

重庆seo2016-03-27 08:33:00阅读()编辑文章dedecms页面分页A+ / A-

       对文章进行分页对搜索引擎来说较好,但对用户体验有一定的不好影响,用户需要点击分页标签进行页面的切换,而多数用户习惯点击图片或者用键盘左右键切换到下一页或下一篇文章。文章分页如果处理不好,很多分页搜索引擎就不会去抓取,也就是权重被分散了,参考文章《怎么让文章分页对SEO权重分散影响最小》。

点击图片切换到下一页下一篇文章

       dedecms的图集模板功能有限,而文章模型有很多好处。比如方面采集,方便制作模板等。但是如何实现类似图片集的一页一张图片效果呢?

       实现思路是利用织梦的文章分页,为图片增加下一页的超链接,点击图片就能进行切换,这样方便省事。网上很多帖子笔者都试过了,估计抄来抄去的帖子,我也找不到哪个是原帖了。

       懒人就直接下修改过的文件吧,链接:http://pan.baidu.com/s/1c1NBJhe 密码:ycp5

       如果你的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)=[\"|'| ]{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; 
} 

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.查找

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

在此代码下面添加以下代码

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

5.查找

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

在此代码下面添加以下代码

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

6.查找

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

在此代码下面添加以下代码

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

    扩展阅读

    本文地址:https://www.vi586.com/seo/262.html
    版权声明:原创文章,版权归重庆SEO吖七所有,欢迎分享本文,支持原创,转载请保留出处

    赞(4)