修改织梦(DEDE)的上一篇下一篇功能
2013-04-15 16:42
375 查看
最近,帮朋友修改织梦(DEDE)的一些内容。目前最新版本DEDE 5.7版,仍然存在很多的bug或者不尽人意的地方。
比如文章的更新时间问题,后台中的文章的高级参数不会自动加载更新时间。而且,上一篇下一篇的功能是根据ID
来进行排序的,如果列表中根据更新时间排序,那么上一篇下一篇和列表中的顺序就会不同步。
下面我们来改下DEDE的上一篇下一篇的方法,使其可以按照更新日期排序(注意这不是分页的上一页下一页)。
前台页面调用方法:
<div class="context">
<ul>
<li>{dede:prenext get='pre'/}</li>
<li>{dede:prenext get='next'/}</li>
</ul>
</div>
修改步骤:
第一步:用记事本或者php的IDE打开 DedeAMPZ\WebRoot\Default\include 目录下的arc.archives.class.php 文件。
第二步:找到 function GetPreNext($gtype='') 方法。
第三步:将
$preR = $this->dsql->GetOne("Select id From `#@__arctiny` where id<$aid And arcrank>-1 And typeid='{$this->Fields['typeid']}' order by id desc");
$nextR = $this->dsql->GetOne("Select id From `#@__arctiny` where id>$aid And arcrank>-1 And typeid='{$this->Fields['typeid']}' order by id asc");
替换成以下代码
$preR = $this->dsql->GetOne("Select id From `#@__arctiny` where sortrank<'{$this->Fields['pubdate']}' And arcrank>-1 And typeid='{$this->Fields['typeid']}' order by sortrank desc");
$nextR = $this->dsql->GetOne("Select id From `#@__arctiny` where sortrank>'{$this->Fields['pubdate']}' And arcrank>-1 And typeid='{$this->Fields['typeid']}' order by sortrank asc");
第四步:OK了,大功告成,生成下试试吧~0~
说明:这里主要是更改了下SQL语句,把按照id判断排序的语句改成了dede_arctiny表中的sortrank,这里的sortrank和dede_archives表中的pubdate的值是一样的。每当更新文章时,会同步更新两张表中的pubdate和sortrank。
我的博客:www.andysue.com
相关文章推荐
- 织梦模板修改{dede:list}标签后,可支持权重排序、flag标签功能
- dede织梦后台页面及功能修改及精简操作方法
- dede织梦后台页面及功能修改及精简操作方法
- 织梦DEDE多选项筛选_联动筛选功能的实现_二次开发
- dede织梦_高级功能function扩展-dede @me
- DEDE会员后台功能修改
- dede织梦_高级功能function扩展-dede @me
- 织梦(dedecms)当前位置{dede:field name='position' /}修改
- 织梦dedecsm系统"企业简介"类单栏目模版如何修改和调用
- 织梦系统“当前位置”{dede:field.position}的修改方法
- dede修改上一篇下一篇为英文
- 织梦搜索页不支持dede标签的修改方法
- dede织梦后台如何修改?如何增加删除菜单?(
- dede织梦怎么修改description的字数
- dedecms织梦修改当前位置{dede:field name=“position”/}标签
- 织梦如何修改上一篇下一篇的链接
- 织梦DedeCms文章上一篇、下一篇修改
- dede(织梦)如何修改缩略图地址长度
- dedecms教程:dede织梦内容页{dede:pagebreak/}分页标签修改方法
- 织梦57版本发布和修改检测文章标题重复的功能