在所有的文章页中,会经常发现都会有这么一个功能,能引导用户去查看上一篇文章或下一篇文章,而在ShopEx中,我DEZEND了一下文章模型,并没有找到上一篇这样的函数功能,因此,这就需要我们手动在对应的文章控制器中自己去添加一个这样的功能。 文章控制器对应文件:\core\shop\controller\ctl.article.php 找到这个文件,我们需要操作的就是在这个文件尾加一个我们自己的函数如下:

function getPrevAndNextArticle($currentArticleId, $nodeId){//查找上一篇和下一篇的函数
$nodeId = $nodeId == ''?0:$nodeId;
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD) or die('Could not connect: ' . mysql_error());
mysql_select_db(DB_NAME) or die('Could not select database');
//查找上一篇
$sql_prev = "SELECT * FROM ".DB_PREFIX."articles WHERE ifpub='1' AND
node_id=$nodeId AND
article_id<$currentArticleId ORDER BY article_id DESC LIMIT 0,1";
$result = mysql_query($sql_prev) or die('Query failed: ' . $sql_prev);
$prev = mysql_fetch_array($result, MYSQL_ASSOC);
mysql_free_result($result);// 释放结果集
//查找下一篇
$sql_next = "SELECT * FROM ".DB_PREFIX."articles WHERE ifpub='1' AND
node_id=$nodeId AND
article_id>$currentArticleId ORDER BY article_id ASC LIMIT 0,1";
$result = mysql_query($sql_next) or die('<br/>Query failed: ' . $sql_next);
$next = mysql_fetch_array($result, MYSQL_ASSOC);
mysql_free_result($result);// 释放结果集
//mysql_close($link);//不能关闭连接,否则页面空白
return array('prev'=>$prev, 'next'=>$next);
}

增加完这个函数以后,就需要在Index()函数中引用,增加以下代码

$this->pagedata['extra'] = $this->getPrevAndNextArticle($articleid, $this->pagedata['article']['node_id']);

控制器这样就完成了,接下来需要操作的就是修改模板 找到适当的位置,添加以下代码

上一篇:<{if $extra.prev}><a href="/?article-<{$extra.prev.article_id}>.html"><{$extra.prev.title}></a><{else}>没有了<{/if}>
下一篇:<{if $extra.next}><a href="/?article-<{$extra.next.article_id}>.html"><{$extra.next.title}></a><{else}>没有了<{/if}>

好了,这样上一篇下一篇功能已经实现,赶快动手修改吧~

ShopEx文章页增加上一篇下一篇功能相关推荐

  1. 如何修改dede文章页上一篇下一篇"没有了"

    dedecms上一篇下一篇调用标签: {dede:prenext get='pre'/} {dede:prenext get='next'/} 如何自定义织梦dedecms上一篇下一篇标签调用内容呢, ...

  2. 织梦手机站文章页调用显示只显示 上一篇下一篇 不显示标题

    include目录下的这个文件:arc.archives.class.php中做以下修改 将827行代码-834行代码替换成$this->PreNext['pre'] = "上一篇:& ...

  3. java文章上一篇下一篇_每个人都必须阅读的10篇Java文章

    java文章上一篇下一篇 一个月前,我们发布了每个人都必须阅读的10篇SQL文章列表. 我们相信jOOQ博客上的文章列表将为我们的读者带来非凡的价值. jOOQ博客是一个专注于Java和SQL的博客, ...

  4. ecshop调用文章显示上一篇下一篇_无需整理

    为什么80%的码农都做不了架构师?>>>    首先调用文章中的上一篇和下一篇语法为: 上一篇:{$next_article.title} 下一篇:{$prev_article.ti ...

  5. 用Java 实现文章内容上一篇下一篇功能

    ITDragon博客 用Java 实现文章内容上一篇下一篇功能,逻辑和分页不一样.效果和本页面底部一样.采用的是Spring data jpa SQL语句实现该功能 SQL 语句查询的是该数据的上一条 ...

  6. Html做文章查看上一篇下一篇功能,SDCMS文章添加上一篇、下一篇

    SDCMS是一款小型ASP内容管理系统管理开源程序,虽然是小型的,但是主要功能都俱备.在细节方面,该款开源程序没有对内置标签进行统一的管理,不方便日后功能的修改,如果需要修改或者添加,需要去官方网站上 ...

  7. php如何实现上一篇下一篇

    网站开发过程中经常遇见上一篇下一篇问题的处理,今天刚好在做一个项目的时候也遇到了,这个是对自己以前方法的改进,可能会存在没有考虑到的问题,请大家可以在这个基础上改进 首先,当我们去访问一篇文章的时候需 ...

  8. 三种代码为wordpress添加上一篇/下一篇功能

    WordPress没有内置"上一篇 下一篇"功能,可是这个功能却是我们经常用到的,它不仅可以提高网站的用户体验度,而且能留住访客的脚步,增加网站的PV值. 现在wordpress模 ...

  9. php转盘抽奖源码yii2,yii2实现 上一篇,下一篇 功能的代码实例

    最近做了简答的文章详情页面,需要在页面底部加入上一篇,下一篇 按钮,分析了下,最基本需要有文章的标题和id(作为参数). 开始想的是当前的id加减1,但考虑到如果部分id丢失就不对了,于是分别查询比当 ...

最新文章

  1. 英伟达发布RTX 2000系列显卡,“实时光线追踪”究竟能为游戏带来什么?
  2. python使用符号 表示单行注释-Python编程规范之注释
  3. java项目包创建顺序_java程序初始化的顺序
  4. Gitlab上传代码
  5. python自动化测试常见面试题二_思考|自动化测试面试题第二波
  6. web报表工具FineReport最经常用到部分函数详解
  7. es搜索准实时的理解
  8. 建筑施工承插型盘扣式钢管支架安全技术规程_承插型盘扣式钢管支架施工技术交底(视频教程)...
  9. C语言异常处理机制——为您的C程序添加异常处理
  10. Quartz配置TerracottaJobStore-012
  11. Fritzing软件绘制Arduino面包板接线图传感器模块库文件186
  12. BroadcastReceiver启动Service 3.1之后静态注册
  13. Python|从PDF中批量提取图片
  14. 入选全球灯塔工厂 西部数据践行可持续发展承诺
  15. Centos系统如何开启关闭防火墙
  16. UI设计中搜索页设计指南
  17. 对待前任你有遗憾么?
  18. 学习企业管理最有效的方法就是看这管理类书籍!
  19. android开机背景设置,设置开机动态壁纸
  20. Oracle 的 X$ 表之:x$kqfta 内核SQL固定表信息

热门文章

  1. oracle的scn增量备份,【Oracle】基于SCN的增量备份修复DataGuard GAP
  2. 4.1 神经网络算法原理
  3. (3) ebj学习:有状态bean和无状态bean区别
  4. 大学学习论坛 需求分析报告.菜鸟版.多喷.看看问题所在
  5. 前端框架 渐进式框架
  6. 博图v15.1 安装步骤
  7. 协同过滤——基于邻域的算法
  8. 【Heritrix基础教程之1】在Eclipse中配置Heritrix
  9. 使用Spring Boot开发Restful程序
  10. dojo中的AMD模式开发案例