dede实现点击文章图片进入下一页和下一篇的跳转

不少用dedecms制作门户网站时都需要用到这种效果,比较人性化,对很多网站都适用,本来想上传个文件给大家覆盖不用自己修改这么麻烦,考虑到不少朋友的 arc.archives.class.php文件都做过很多修改,比如我的就是给我改得乱七八糟了,如果直接覆盖会导致之前修改的功能都没了。
所以把修改方法发上来,大家按照步骤修改。
建议修改前将arc.archives.class.php文件进行备份,修改出错后还可以还原。
1、编辑打开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=’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['nextimg'] = " 在其上面添加
1
$$this->PreNext['imgnext'] ="<a href=’$$mlink’>"."\$${0}"."</a>";
5、查找$$this->PreNext['next'] = "下一篇:没有了 ";在其下面添加
1
$$this->PreNext['imgnext'] ="\$${0}";
6、查找
else if($$gtype==’next’)
{
$$rs = $$this->PreNext['next'];
}
在其下面添加
else if($$gtype==’imgnext’)
{
$$rs = $$this->PreNext['imgnext'];
}
修改完毕后更新一遍所有文章即可
+