Discuz!官方免费开源建站系统

 找回密码
 立即注册
搜索

[分享] 教你怎么做图片主题中的向上向下翻页(更新点击图片翻页功能)

[复制链接]
85489510 发表于 2008-11-24 15:35:49 | 显示全部楼层 |阅读模式
本帖最后由 85489510 于 2008-12-17 12:41 编辑

搞了好久终于搞出来了~
偷懒,直接拿资讯频道做了个图库。
在做图片内容页的时候需要做向上向下翻页。
效果演示:http://www.zd20.com/?action-gallery

做了两种。不过都有局限性的。适用范围为伪静态页面。
第一种是要求文章各分页的nid为连续。

        <div class="imgShow" style="margin:0 auto;">
            <!--{block name="spacenews" parameter="sql/SELECT%20%2A%20FROM%20supe_spacenews%20WHERE%20itemid%3D$news[itemid]/order/i.nid ASC/limit/0,1/cachetime/900/cachename/turn/tpl/data"}-->
            <!--{loop $_SBLOCK['turn'] $value}-->
            <!--{eval $temp=$value[nid];}-->
            <!--{/loop}-->
    <a href="$value[url]-page-<!--{eval echo $news[nid]-$temp}-->"class="btnPre"><img src="{S_URL}/templates/$_SCONFIG[template]/skin/infinity/icon/arrow_pre.gif"/></a>                          
            <a href="$value[url]-page-<!--{eval echo $news[nid]-$temp+2}-->" class="btnNext"><img src="{S_URL}/templates/$_SCONFIG[template]/skin/infinity/icon/arrow_next.gif"/></a>
         <div class="bigImg">$news[message]</div>
         </div>
原理,文章各个分页之间的nid为连续递增或递减,一开始通过itemid查询出该文章下的所有分页并用临时变量记录下在各分页中nid最小的值。
在内容也中$news[nid]显示的就是当前页面的nid. 用这个值减去先前记录下的nid最小值,这个差就是上一页的序号。
把链接处理下<a href="$value[url]-page-<!--{eval echo $news[nid]-$temp}-->" class="btnPre">。这样向上翻页就OK了
向下翻页同理。<!--{eval echo $news[nid]-$temp+2}-->

这种方式是nid连续的,我用采集器采回来的图片发布的时候pageorder默认没区分,所以说只能这样做。

如果正常分页的话pageorder应该是在每个主题里面从0往上递增的。
对于那种就直接在pageorder上做文章就行了。

============================================================
不少朋友看了这个帖子都知道怎么可以通过next翻页到下张图片了。但不知道如何直接点击图片翻页。
我来说说方法。
其实很简单,将$news[message]放在button里就行了。
<button onclick="location.href='$value[url]-page-<!--{eval echo $news[nid]-$temp+2}-->'">$news[message]</button>
回复

使用道具 举报

abcnic1 发表于 2008-11-24 20:11:15 | 显示全部楼层
不错 支持了
回复

使用道具 举报

ibookle 发表于 2008-11-24 20:58:21 | 显示全部楼层
支持一下
回复

使用道具 举报

morror.cn 发表于 2008-12-3 19:37:10 | 显示全部楼层
好东西,顶一下
回复

使用道具 举报

vocalist 发表于 2008-12-4 09:11:56 | 显示全部楼层
感谢分享!!!!收藏了
回复

使用道具 举报

 楼主| 85489510 发表于 2008-12-17 09:00:10 | 显示全部楼层
本帖最后由 85489510 于 2008-12-17 09:15 编辑

内容移到上面去了。
回复

使用道具 举报

quily 发表于 2008-12-17 09:13:06 | 显示全部楼层
你就是我的神啊
回复

使用道具 举报

 楼主| 85489510 发表于 2008-12-17 09:31:23 | 显示全部楼层
好东西是要大家分享滴~((em:06))
回复

使用道具 举报

quily 发表于 2008-12-17 09:40:12 | 显示全部楼层
如果不是伪静态有什么调节的方法?

$value[url]中已经包含了.HTML了
回复

使用道具 举报

 楼主| 85489510 发表于 2008-12-17 09:57:02 | 显示全部楼层
静态有点麻烦,因为第一张图片地址只能有一个就是后面没有页号的那种。
而伪静态的第一张图片可以是除了已有地址意外的任何地址,比如我一套图里面有10张图
http://www.zd20.com/?action-viewnews-itemid-8593-page-10
只要最后面那个数字超出了10都是第一张图的链接。但静态就不行了,所以要根据你的页数进行判断翻页范围,还要判断当页码是最后一页的时候跳转页面链接去掉"-n.html"里面的"-n"
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-10-24 09:50 , Processed in 0.105829 second(s), 14 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表