实现dedecms图集单击图片翻页的功能
作者:肥龙龙 来源:肥龙龙博客 发布时间:2009-02-19 20:41:00
标签: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];
}
注意增加了如下代码用来获得当前的页码:
$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!
0
投稿
猜你喜欢
- 随着docker使用的镜像越来越多,就需要有一个保存镜像的地方,这就是仓库。目前常用的两种仓库:公共仓库和私有仓库。最方便的就是使用公共仓库
- 以大划小思想,然后重定向。linux有时候会遇到文件很大,关键字查找都要超过整屏,无法查看到所有内容。比如一个非常大的日志文件info.lo
- 在新安装的Linux系统命令行下,敲入:ifconfig,显示如下界面。上面这张图显示网卡没有启动,那么我们敲入代码:ifup eth0启动
- 一、 LVS简介 LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一个由章文
- 11月26日消息,据国外媒体报道,微软公司和eBay今天宣布,双方将进行合作,通过新的Internet Explorer 8 (IE 8)
- 前言ImageMagick是一个很好用的对图片进行格式转换、缩减大小、裁剪等等进行操作的工具,在Windows和Linux系统都可以安装,因
- 对于Web应用来说,注射式攻击由来已久,攻击方式也五花八门,常见的攻击方式有SQL注射、命令注射以及新近才出现的XPath注射等等。本文将以
- 1、单日志添加AD(如Google AD)WordPress中single.php是单篇日志模板,如果需要在单篇日志中加入GoogleAdS
- 根据对一些站长的最新调查显示,百度收录新网站的大约时间是2周。也就是说,新站做好了,需要等2周时间才能在百度收录。只有很少一部分幸运的站长,
- 网站备案很无奈,上网搜索了些关于备案的攻略不知道对各位有没有帮助.由于国家信产部一纸奇怪的规定,国内所有的网站都需要做备案了,不备案,搞不好
- 网站定位准确,就可以让您的网站成为用户眼中的首选。成为用户眼中第二的网站,就等于把更多的用户推给了竞争对手,因为对于用户选择一个网站来说,仅
- 在Windows XP IIS 中装一个PHP玩玩,用于本机进行php程序学习、测试。PHP下载:http://windows.php.ne
- <?php $db_server = "localhost";$db_user = "TPAR
- 很站长觉得网站权重就是排名,其实权重和排名还是有区别的。网站权重:网站权重说明一个网站的权威性。也可以理解为网站的知名度,就如NOKIA知名
- 如果你的服务器目录结构是这样: /usr/corsak/www/maindir 如果Apache指令中开启了AllowOverride支持.
- ---恢复内容开始---背景: 1,使用lnmp环境2,代码可以在windows上面写,直接映射到linux的lnmp环境下面第一步: vm
- 用户是否听说过虚拟专用网VPN的优越特性?是否准备好在远程访问设备上看看它的优越性了吗?那么,用户应该很高兴的是,Windows 2000提
- 概述本模块集中说明在您的环境中强化 IIS 服务器所需的指导和步骤。为了向组织的公司 Intranet 中的 Web 服务器和应用程序提供全
- 最近有很多新朋友入群后,都问笔者如何通过推广的方式增加流量,在此先谢谢大家对笔者的信任。其实不用对外推广,通过网站自身的优化也能达到流量爆涨
- 但这种实现会引起严重的饥饿问题。由于多个子进程同时执行这个循环,它们将在select中阻塞。当任何socket上出现一个请求时,所有被阻塞的