我们紧接上一篇讲过的图片集的问题再深入研讨一下织梦模板制作过程中如何实现实现图集单击图片翻页的功能。为了视线图片集点击图片实现翻页功能,我们首先需要需要获得图片页面的当前页码和总页码。下面跟随织梦361一起来探讨如何实现吧。
第一步、获得图片页面的当前页码和总页码
编辑include/inc_archives_view.php文件
(1)找到function ParseDMFields,修改为:
function ParseDMFields($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构造函数,修改为:
$this->TotalPage = count($this->SplitFields); } //获得当前页面总数 $this->Fields['totalpage'] = $this->TotalPage; $this->LoadTemplet(); $this->ParseTempletsFirst(); }
注意增加了如下代码用来获得总页码:
$this->Fields['totalpage'] = $this->TotalPage;
第二步、在模板中用js实现分析静态页面和动态页面以及向下翻页
编辑article_image.htm或者你的图集最终显示的模板,增加如下js代码:
<script language="javascript"> var npage = {dede:field/}; var totalpage = {dede:field/}; var filename=""; var curl=location.href; function goNextPic(){ str1 = /\.html/ig; str2 = /_/ig; r = curl.search(str1); r1 = curl.search(str2); if(r>0){ if(npage==1) filename = curl.substr(0,r); else filename = 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:field/}"; } else{ location.href = "view.php?aid={dede:field/}&pageno="+(npage+1); } } } </script>
在这个js脚本中,我们定义一个方法goNextPic用来切换到下一个图片。
第三步、最后修改图片输出代码,完成goNextPic方法调用
修改include/inc_channel_unit.php
找到”//全部列出式或分页式图集”的部分。
修改类似(仔细看代码,需要修改好几个地方):
$revalue = "<center><a href='$src' target='_blank'><img src='$src' alt='$alt' $iw/></a><br/>$alt<br/></center>\r\n";
修改为:
$revalue = "<center><a href='javascript:goNextPic();'><img src='$src' alt='$alt' $iw/></a><br/>$alt<br/></center> ";以上就是织梦模板制作过程中如何实现实现图集单击图片翻页的功能的全部内容,希望对大家的学习和解决疑问有所帮助,也希望大家多多支持乐享吧网。
织梦DedeCMS发布文章时选择多个副栏目只保存一个的解决办法
有没有细致的朋友发现这样的一个问题:在织梦CMS后台添加新文章时,我们同时 勾选多个副栏目 提交后,然后我们保存后回头再来查看更改文章,回发现 只有一个副栏目被选中保存