實(shí)現(xiàn)dedecms圖集單擊圖片翻頁的功能
更新時間:2008年03月23日 17:48:10 作者:
題記:在很多相冊的網(wǎng)站中,都有這樣的功能:當(dāng)圖片分多頁顯示的情況下,點(diǎn)擊圖片會自動翻頁到下一張圖片,接下來我們在dedecms4中實(shí)現(xiàn)這個功能。以下是實(shí)現(xiàn)方法:
1、為了實(shí)現(xiàn)這個功能,我們首先需要獲得圖片頁面的當(dāng)前頁碼和總頁碼
編輯include/inc_archives_view.php文件
(1)找到function ParseDMFields,修改為:
function ParseDMFields($pageNo,$ismake=1)
{
$this->NowPage = $pageNo;
//獲得當(dāng)前頁面編號
$this->Fields['cpagenum'] = $this->NowPage;
if($this->SplitPageField!="" &&
isset($this->Fields[$this->SplitPageField]))
{
$this->Fields[$this->SplitPageField] = $this->SplitFields[$pageNo - 1];
}
注意增加了如下代碼用來獲得當(dāng)前的頁碼:
$this->Fields['cpagenum'] = $this->NowPage;
(2)找到function __construct構(gòu)造函數(shù),修改為:
<?php
……
$this->TotalPage = count($this->SplitFields);
}
//獲得當(dāng)前頁面總數(shù)
$this->Fields['totalpage'] = $this->TotalPage;
$this->LoadTemplet();
$this->ParseTempletsFirst();
}
注意增加了如下代碼用來獲得總頁碼:
$this->Fields['totalpage'] = $this->TotalPage;
2、接下來在模板中用js實(shí)現(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
找到”//全部列出式或分頁式圖集”的部分。
修改類似(仔細(xì)看代碼,需要修改好幾個地方):
$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> ";
編輯include/inc_archives_view.php文件
(1)找到function ParseDMFields,修改為:
function ParseDMFields($pageNo,$ismake=1)
{
$this->NowPage = $pageNo;
//獲得當(dāng)前頁面編號
$this->Fields['cpagenum'] = $this->NowPage;
if($this->SplitPageField!="" &&
isset($this->Fields[$this->SplitPageField]))
{
$this->Fields[$this->SplitPageField] = $this->SplitFields[$pageNo - 1];
}
注意增加了如下代碼用來獲得當(dāng)前的頁碼:
$this->Fields['cpagenum'] = $this->NowPage;
(2)找到function __construct構(gòu)造函數(shù),修改為:
<?php
……
$this->TotalPage = count($this->SplitFields);
}
//獲得當(dāng)前頁面總數(shù)
$this->Fields['totalpage'] = $this->TotalPage;
$this->LoadTemplet();
$this->ParseTempletsFirst();
}
注意增加了如下代碼用來獲得總頁碼:
$this->Fields['totalpage'] = $this->TotalPage;
2、接下來在模板中用js實(shí)現(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
找到”//全部列出式或分頁式圖集”的部分。
修改類似(仔細(xì)看代碼,需要修改好幾個地方):
$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> ";
相關(guān)文章
dedecms v5.1 WriteBookText() code injection vul注入漏洞
來源:Ph4nt0m Google Group by Flyh4t@126.com QQ:3783679422008-05-05dedecms織夢系統(tǒng)數(shù)據(jù)庫表結(jié)構(gòu)詳細(xì)說明-附表名與字段名
dedecms織夢系統(tǒng)是一個自由和開放源碼的內(nèi)容管理系統(tǒng),簡單易用,功能豐富,原生php程序,二開簡單,曾經(jīng)流行了好多年,就是現(xiàn)在還有人再使用。本文囊括了dedecms數(shù)據(jù)庫所有的86張數(shù)據(jù)表結(jié)構(gòu)和字段詳細(xì)說明,需要的朋友可以參考下。2023-04-04dedecms實(shí)現(xiàn)仿downkr的sitemap效果代碼
dedecms實(shí)現(xiàn)仿downkr的sitemap效果代碼,本人對php不是很懂,只是慢慢摸索的,希望大家有好的東西一起交流,實(shí)現(xiàn)仿sitemap2008-03-03dedecms 內(nèi)容頁責(zé)任編輯調(diào)用代碼
上班時間緊 寫了有點(diǎn)亂 大家要看仔細(xì)點(diǎn) 不要改錯了 (鄭重聲明:修改前請備份原文件) 第一步 先修改內(nèi)容頁模板吧 (打開 templetsdefault 目錄下的 article_article.htm) 在你需要調(diào)用責(zé)任編輯的地方加入如下代碼: 責(zé)任編輯:{dede:adminname/}2008-05-05dedecms下仿chinaz二級下拉動態(tài)讀取代碼
最近用dedecms模仿chinaz的模板,發(fā)現(xiàn)每次都用靜態(tài)以后的文件特麻煩,沒想到網(wǎng)上已經(jīng)有高手給解決了,大家看代碼2008-05-05dedecms統(tǒng)計欄目文章數(shù)量實(shí)現(xiàn)代碼修訂版
以下的實(shí)現(xiàn)辦法為修訂的方法,可實(shí)現(xiàn)任意指定欄目的文章數(shù)量統(tǒng)計,包括最終列表欄目和含有子欄目的欄目。2008-03-03dedecms負(fù)載性能優(yōu)化實(shí)例,三招讓你的dedecms快10倍以上
對dedecms表現(xiàn)出來的相對較差的性能也感覺比較迷惑,到底是什么在制約其負(fù)載效率?難道真的是某些腦殘的dede論壇版主說的是因?yàn)閙ysql不堪重負(fù)的原因嗎?2008-09-09