實現(xiàn)dedecms圖集單擊圖片翻頁的功能
更新時間:2008年03月19日 17:51:35 作者:
題記:在很多相冊的網(wǎng)站中,都有這樣的功能:當圖片分多頁顯示的情況下,點擊圖片會自動翻頁到下一張圖片,接下來我們在dedecms4中實現(xiàn)這個功能。以下是實現(xiàn)方法:
1、為了實現(xiàn)這個功能,我們首先需要獲得圖片頁面的當前頁碼和總頁碼
編輯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構(gòu)造函數(shù),修改為:
<?php
……
$this->TotalPage = count($this->SplitFields);
}
//獲得當前頁面總數(shù)
$this->Fields['totalpage'] = $this->TotalPage;
$this->LoadTemplet();
$this->ParseTempletsFirst();
}
注意增加了如下代碼用來獲得總頁碼:
$this->Fields['totalpage'] = $this->TotalPage;
2、接下來在模板中用js實現(xiàn)分析靜態(tài)頁面和動態(tài)頁面以及向下翻頁
編輯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方法調(diào)用
修改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> ";
the end. have fun!
編輯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構(gòu)造函數(shù),修改為:
<?php
……
$this->TotalPage = count($this->SplitFields);
}
//獲得當前頁面總數(shù)
$this->Fields['totalpage'] = $this->TotalPage;
$this->LoadTemplet();
$this->ParseTempletsFirst();
}
注意增加了如下代碼用來獲得總頁碼:
$this->Fields['totalpage'] = $this->TotalPage;
2、接下來在模板中用js實現(xiàn)分析靜態(tài)頁面和動態(tài)頁面以及向下翻頁
編輯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方法調(diào)用
修改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> ";
the end. have fun!
相關(guān)文章
動易開源PowerEasy® SiteWeaver™ 6.5系列產(chǎn)品發(fā)布免費下載了
動易開源CMS 6.5正式版今日發(fā)布2008-01-01解決安裝wordpress時出現(xiàn)ERR_TOO_MANY_REDIRECTS重定向次數(shù)過多問題
本文主要介紹了如何解決安裝wordpress時出現(xiàn)ERR_TOO_MANY_REDIRECTS重定向次數(shù)過多導(dǎo)致無法安裝的問題2017-12-12