欢迎来到代码驿站!

当前位置:首页 >

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

时间:2021-02-04 11:34:08|栏目:|点击:
1、为了实现这个功能,我们首先需要获得图片页面的当前页码和总页码
编辑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构造函数,修改为:

<?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代码:

<script language="javascript">
    var npage = {dede:field name='cpagenum'/};
    var totalpage = {dede:field name='totalpage'/};    
    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 name='id'/}"; }
        else{
            location.href = "view.php?aid={dede:field name='id'/}&pageno="+(npage+1);
        }
    }
}    
</script>
在这个js脚本中,我们定义一个方法goNextPic用来切换到下一个图片。

3、最后修改图片输出代码,完成goNextPic方法调用

修改include/inc_channel_unit.php
找到”//全部列出式或分页式图集”的部分。
修改类似(仔细看代码,需要修改好几个地方):

$revalue = "<center><a href='$src' target='_blank'><img src='$src' alt='$alt' $iw border='0'/></a><br/>$alt<br/></center>\r\n";
为:

$revalue = "<center><a href='javascript:goNextPic();'><img src='$src' alt='$alt' $iw border='0'/></a><br/>$alt<br/></center> ";

上一篇:seajs中模块的解析规则详解和模块使用总结

栏    目:

下一篇:Powershell小技巧之通过EventLog查看近期电脑开机和关机时间

本文标题:实现dedecms图集单击图片翻页的功能

本文地址:http://www.codeinn.net/misctech/56684.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有