实现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
投稿
猜你喜欢
- 一直不太想说Google PR劫持这个话题,因为怕造成一些人刻意利用来骗其他的站长。不过前几天在点石有几个帖子都涉及到了这个问题。而且我再想
- 说到域名,恐怕这是做网站首要考虑的问题,一个网站从开始设想,到策划实施,这过程中都要考虑到一个问题:域名。什么样的域名适合做这个站,这个域名
- 由于各种原因,我们有时候需要在一个IP地址上建立多个web站点,在IIS5中,我们可能通过简单的设置达到这个目标。在IIS中,每个 Web
- Alexa是目前最权威的全球网站排名机构。这家网站1996年4月在美国创立,1999年被亚马逊公司收购。自1997年9月开始通过专用的工具将
- 世界上没有无缘无故的爱,也没有无缘无故的恨,网站被百度K了,不要怨天尤人,骂过小李子了,咱们要反省下自己,有没有触犯SE的规则,
- 假设,我们需要在发布时间超过15天的文章中展示广告,我们今天只需要简单的设置一下代码,就能完成。第一步:功能实现起来很简单,用PHP编辑器打
- 打开“开始”-〉“运行”在对话框中输入cmd然后回车。win
- 在论坛上发布原创帖子,然后根据帖子的顶帖量进行计算,最高者能以3折价格购买价值60万元的产权房。近日,上海一网站推出一项&ldquo
- 据spreadfirefox的消息,Mozilla Firefox 3发布时间暨下载日终于到来了,Mozilla Firefox3于美国西部
- 做网站联盟做久了,在管理联盟中,看到有些站长做广告,是拼命申请广告联盟,总是以为东边不亮西边亮,这个没钱赚那个有钱赚,其实这是很错误的,敬请
- 目前最新版本是Discuz! 7.2。本期教程笔者为大家讲解Discuz!论坛“阅读区域宽度”及“帖内图片最大宽度”的功能设置。“阅读区域宽
- 11月12日消息,据国外媒体报道,美国消费电子产品协会(以下简称“CEA”) 周二宣布,高通CEO保
- 1、SQL注入漏洞的入侵这种是ASP+ACCESS的网站入侵方式,通过注入点列出数据库里面管理员的帐号和密码信息,然后猜解出网站的后台地址,
- 说明:诸如bbs.phpwind.net 此类不应被提示外链的连接也提示外链打开:js/pw_lwd.js查找函数:checkUrl将整个函
- 有这样一句话:国际化就是本土化,本土化是国际化的核心。这句话虽然简单,但是却蕴含着很多道理。如果一家企业或一种产品想要打入国际市场,就一定要
- 我在2007年的南方IT春节晚会上,跟广州互联网的同仁们分享了我的部分创业经验,以下是当时的发言。 一、技术创新广州是一个创新之
- Google®站长工具为你提供了访问与Google如何crawled及索引你的网站的有关的数据。这一免费特征:•
- V5shop网络联盟系统:网商应突破平台壁垒 盈利为王最近,一些具有忧患意识的独立网商经常通过邮件或QQ向笔者咨询,归纳一下,问题基本集中在
- 北京时间11月18日消息,据国外媒体报道,科技博客Techcrunch作者MG·斯格勒(MG Siegler)周二撰文
- 齐毛鸭在使用dedecms时发现,每一个栏目的列表页的title是不能直接优化的。举个例子,某栏目的名字是“文学天地”,但在title中我们