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

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:dedecms5.1升级sp1出现IfTagNull()错误解决方法记录
最近有报告错误说从dedecms5.1升级sp1出现错误,代码大致如下: Fatal error: Call to undefined function IfTagNull() in /……/include/

题记:在很多相册的网站中,都有这样的功能:当图片分多页显示的情况下,点击图片会自动翻页到下一张图片,接下来我们在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];
}

注意增加了如下代码用来获得当前的页码:


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

the end. have fun!

原文地址: http://www.blog-dragon.com/2007/12/dedecms-pic-gopage.html


分享:PHP教程:PHP编码书写规范
1 文件结构 | |――images |――include   |――parameter   |――config   |――function |――index images存放图

来源:模板无忧//所属分类:PHP教程/更新时间:2008-08-22
相关PHP教程