实现dedecms图集单击图片翻页的功能

时间:2021-05-19

1、为了实现这个功能,我们首先需要获得图片页面的当前页码和总页码
编辑include/inc_archives_view.php文件
(1)找到functionParseDMFields,修改为:
functionParseDMFields($pageNo,$ismake=1)
{
$this->NowPage=$pageNo;
//获得当前页面编号
$this->Fields['cpagenum']=$this->NowPage;
if($this->SplitPageField!=""&&
isset($this->Fields[$this->SplitPageField]))
{
$this->Fields[$this->SplitPageField]=$this->SplitFields[$pageNo-1];
}
注意增加了如下代码用来获得当前的页码:
$this->Fields['cpagenum']=$this->NowPage;
(2)找到function__construct构造函数,修改为:
<?php
……
$this->TotalPage=count($this->SplitFields);
}
//获得当前页面总数
$this->Fields['totalpage']=$this->TotalPage;
$this->LoadTemplet();
$this->ParseTempletsFirst();
}
注意增加了如下代码用来获得总页码:
$this->Fields['totalpage']=$this->TotalPage;
2、接下来在模板中用js实现分析静态页面和动态页面以及向下翻页
编辑article_image.htm或者你的图集最终显示的模板,增加如下js代码:
<scriptlanguage="javascript">
varnpage={dede:fieldname='cpagenum'/};
vartotalpage={dede:fieldname='totalpage'/};
varfilename="";
varcurl=location.href;

functiongoNextPic(){
str1=/\.html/ig;
str2=/_/ig;
r=curl.search(str1);
r1=curl.search(str2);
if(r>0){
if(npage==1)filename=curl.substr(0,r);
elsefilename=curl.substr(0,r1);

if(npage==totalpage){location.href=filename+".html";}
else{
location.href=filename+"_"+(npage+1)+".html";
}
}else{
if(npage==totalpage){location.href="view.php?aid={dede:fieldname='id'/}";}
else{
location.href="view.php?aid={dede:fieldname='id'/}&pageno="+(npage+1);
}
}
}
</script>
在这个js脚本中,我们定义一个方法goNextPic用来切换到下一个图片。
3、最后修改图片输出代码,完成goNextPic方法调用
修改include/inc_channel_unit.php
找到”//全部列出式或分页式图集”的部分。
修改类似(仔细看代码,需要修改好几个地方):
$revalue="<center><ahref='$src'target='_blank'><imgsrc='$src'alt='$alt'$iwborder='0'/></a><br/>$alt<br/></center>\r\n";
为:
$revalue="<center><ahref='javascript:goNextPic();'><imgsrc='$src'alt='$alt'$iwborder='0'/></a><br/>$alt<br/></center>";
theend.havefun!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章