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

       题记:在很多相册的网站中,都有这样的功能:当图片分多页显示的情况下,点击图片会自动翻页到下一张图片,接下来我们在dedecms4中实现这个功能。以下是实现方法:

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 ];
         }
}

(2)找到function __construct构造函数,修改为:

<? php
……
             
$this -> TotalPage  =   count ( $this -> SplitFields);
         }
        
// 获得当前页面总数
          $this -> Fields[ ' totalpage ' =   $this -> TotalPage;         
         
$this -> LoadTemplet();
         
$this -> ParseTempletsFirst();
     }

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>
" ;

为:

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

the end. have fun!

Trackback url : http://www.blog-dragon.com/2007/12/dedecms-pic-gopage.html/trackback

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值