ShopEx文章页添加上一篇下一篇功能

在全部的文章页中,会常常发现都会有这么一个功能。能引导用户去查看上一篇文章或下一篇文章,而在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文章页添加上一篇下一篇功能的更多相关文章
- dedecms文章页调用上一篇和下一篇文章
dedecms文章页调用上一篇和下一篇文章,解析后是链接形式的上下篇 {dede:prenext get='pre'/} {dede:prenext get='next'/}
- phpcms v9文章内容页调用上一篇下一篇的方法(转)
phpcms v9文章内容页调用上一篇下一篇的方法如下,魔客吧(www.moke8.com)提示您直接摘取如下代码中的红色部分即可: 上一篇:{$previous_page[url]}" t ...
- thinkPHP中的文章详情页实现“上一篇下一篇”功能经验分享
前段时间在公司中接触到了用thinkPHP搭建的项目,其中涉及到了文章详情页上一篇下一篇翻页的功能实现效果. 因为刚接触这套框架和PHP,所以整理一下实现该功能的经验方法. 如果有不到位的地方,欢迎指 ...
- thinkphp5.0 文章详情页 上一篇 下一篇
// 上一篇下一篇(同一个分类下,先确定该分类的pid) public function frontAfter() { $param=$this->param; $front=Db::name( ...
- phpcms v9 wap手机门户站点内容页添加上一篇、下一篇的方法
PHP源码修改:打开 phpcms\modules\wap\index.php 文件找到if(!$r || $r['status'] != 99) showmessage(L('info_does_n ...
- wordpress文章显示同一分类下的上一篇下一篇
我们在用wordpress开发网站的时候会在文章页中引入上一篇下一篇,但是发现新闻页的上下文章有可能是产品分类的post,这个就不太合理,如何显示同一分类下的上一篇下一篇文章呢?随ytkah一起来看看 ...
- ecshop调用文章显示上一篇下一篇
首先调用文章中的上一篇和下一篇语法为: 代码如下 复制代码 上一篇:<a href="{$next_article.url}">{$next_article.titl ...
- MVC3学习:实现文章上一篇下一篇链接
文章的显示都是通过id查询数据库来显示.但是文章会经常删除,因此id号可能不是连续的,所以上一篇下一篇文章,不能简单的做id加减法. 我的思路是:先将表格中所有文章的ID号全部放入一个数组中,如果文章 ...
- dedecms手机网站内页上一篇/下一篇的翻页功能
修改文件include/arc.archives.class.php文件. 1.搜索 function GetPreNext($gtype='') 2.将这个函数的所有内容替换为 function G ...
随机推荐
- 【基于mini2440开发板的交叉编译环境及内核树配置.
在学习linux驱动开发过程中,交叉编译环境的配置及内核树的生成无疑是对linux不是十分了解的新人面前的一堵墙.高高大大的墙...笔者在初探这一方向时,就在这2个问题上苦恼了很久.查阅无数资料,大多 ...
- selenium chrome.options禁止加载图片和js
#新建一个选项卡 from selenium import webdriver options = webdriver.ChromeOptions() #禁止加载图片 prefs = { 'profi ...
- jsonp实现原理
jquery 封装在 ajax方法 里面的jsonp jsonp跨域的原理 1:使用script 标签发送请求,这个标签支持跨域访问 2:在script 标签里面给服务器端传递 ...
- Java代码实现MySQL数据库的备份与还原
通常在MySQL数据库的备份和恢复的时候,多是采用在cmd中执行mysql命令来实现. 例如: mysqldump -h127.0.0.1 -uroot -ppass test > d:/tes ...
- BCB使用线程删除目录中的图片
BCB新建线程DeleteImgThread类.其会默认继承Thread类,然后在Execute函数中编写代码, void __fastcall DeleteImgThread::Execute() ...
- HDU 5228 ZCC loves straight flush( BestCoder Round #41)
题目链接:pid=5228">ZCC loves straight flush pid=5228">题面: pid=5228"> ZCC loves s ...
- Android中Handler原理
Handler主要是主线程和子线程通信.一般子线程中做一些耗时操作做完之后通知主线程来改动UI. 实际上android系统在Activity启动或者状态变化等都是通过Handler机制实现的. 首先进 ...
- Java -- XML解析工具dom4j
前言 XML现已成为一种通用的数据交流方式,它的平台无关性.语言无关性.系统无关性.给数据集成与交互带来了极大的方便,对于XML的解析有四种方式:DOM生成和解析XML文档,SAX生成和解析XML文件 ...
- HDU5638 / BestCoder Round #74 (div.1) 1003 Toposort 线段树+拓扑排序
Toposort 问题描述 给出nn个点mm条边的有向无环图. 要求删掉恰好kk条边使得字典序最小的拓扑序列尽可能小. 输入描述 输入包含多组数据. 第一行有一个整数TT, 表示测试数据组数. 对 ...
- 50.AngularJs directive详解及示例代码
转自:https://www.cnblogs.com/best/tag/Angular/ 本教程使用AngularJs版本:1.5.3 AngularJs GitHub: https://github ...