自定义织梦文章置顶及其功能原理分析

本人在本发分类信息发布系统那个功能的时候,因为,用到置顶功能,这是很多分类信息系统最很重要的特色,所以,对这个作了一个系统的研究,以前用织梦系统建站,还真没有发现这个功能,这个置顶功能在高级参数那里面,如下图所示。 从上图看到,他上面的置顶
  本人在本发分类信息发布系统那个功能的时候,因为,用到置顶功能,这是很多分类信息系统最很重要的特色,所以,对这个作了一个系统的研究,以前用织梦系统建站,还真没有发现这个功能,这个置顶功能在“高级参数”那里面,如下图所示。
织梦置顶图
 
  从上图看到,他上面的置顶一周,一月,三个月等,对应的数值分别是7,30,90等,这说明这三个阿拉伯数字表示天数,即7天,30天,90天等,由此我们只需要增加这里的数值即可。打开在织梦后台dede/templets里面找到

article_edit.htm和article_add.htm这二个文件,然后,改上自己希望的天数,例如,我想让这个置顶为2天,那么在这二个模板文件里面,在下面二行代码之间。插入<option value="2">置顶2天</option>

<option value='0'>正常排序</option>
<option value="7">置顶一周</option>

  当然,不一定非得插入到这二行之间,完全可以插入到其它行里面,这个随便,根据你自己的需要插入相应的代码即可,实际上就是上面代码里面的vlue值代表的是天数。

  如果你不是一个技术站长,到此也就不用向下看教程内容,如果你想学建站技术,请向下阅读教程。

  原理分析:

  为什么我加个代码就能置顶?现在我们就分析这他是如何通过我们选中相应的置顶天数,达到置顶的。

  当我们点击“保存”我们发布的文章,并选择了置顶后,程序会把变量sortup的值,通过表单传递给程序文件artice.add.php文件,这个文件里面会根据这个sortup变量值,通过时间函数AddDay($pubdate,$sortup);把时间,设置为我们置顶时间,并插入到织梦微表#@_arctiny里面,请注意,个时间函数的参数,$pubdate是一串数字的时间,它是通过函数GetMkTime($pubdate)把我们发布文档的时间,变成了Linux时间截,即一串数字,我们在数据库里面,都以Linux时间截的形式保存着数据,当要取出这个时间的,变成人能够看明白的时间,就要用到其它的函数,例如织构里面的MyDate()函数,当然,php系统函数也有很多。

  当把我们后台置顶时间,添加到微表、附加表后和主表后,当我们更新一下首页,我们置顶的时间就会少一些,直到时间到了就不再置顶了,这个功能是通过后台生成函数

  织梦都有哪些时间函数?这个我们打开小助手文夹,找到time.helper.php,这里面全是织梦的时间函数,我们一个一个的看,这个在二次开发时,也是经常用到的。

  1.返回格林威治标准时间函数:MyDate($format='Y-m-d H:i:s', $timest=0),例如,我当前时间time()的值是1414940523,那么,我们可以通过MyDate函数进行格式化,MyDate('y-m-d',time()),打印结果为:14-11-02。在这个里面前面的参数,可以参考php手册灵活调用。

  2.从普通时间转换为Linux时间截函数:GetMkTime($dtime),这个根上面的MyDate()函数正是相板,这个函数我们人正常能够看到的时间,变成一串数字,这样便于向数据库表保存,而上面的函数,一般是从数据表取出时间用到。

  3.增减时间函数:SubDay($ntime, $ctime) 参数$ntime为当前时间,$ctime为减少的时间。有减少就有增加,AddDay($ntime, $aday)函数就是增加函数,不用多数极其简单。

  4.返回格式化时间函数:GetDateTimeMk($mktime)这个返回的是(Y-m-d H:i:s)风格的函数;GetDateMk($mktime)这个返回的是这种(Y-m-d)格式的日期,实际上这二个函数都是调用函时间函数MyDate()。这二个函数跟GetMKTime()正好相反方向转化。

  5.将时间转换为距离现在的精确时间函数:FloorTime($seconds)参数是秒数,这个在特别开发中应用广泛,但在一般的开发中,一般用到的不多,甚至很少用到,算是比较专业的时间函数。

  上面几个织梦的函数,只是我们在开发网站中经常用到的,但是php系统给我们提供的时间函数,还有很多,参数也非常丰富。如果需要可以查询php手册。
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

dedecms织梦无需登录注册可下单购买的修改,首先找到/plus/carbuaction.php文件,找到如下代码: //确认用户登录信息if($cfg_ml-IsLogin()){ $userid = $cfg_ml-M_ID;}else{ $username = trim($username); $password = trim($password); if(empty($username)
用过织梦dedecms的人都知道,织梦会员系统相当强大,跟论坛程序差不多,对于使用会员系统的人来说,织梦系统足够用的了,但是,有时候,织梦系统很多的地方又不是我们所希望,或都说,有的地方不适合我们使用,这时候就要对织梦会员系统进行二次开发,所以,
我们在做 织梦模板 开发时,有时需要在artlist 和list标签中调用出图集中的图片,同时可以自定调用几张图片。跟版网整理了个一个这样功能的自定义函数。调用后效果如下: dedecms织梦artlist和list标签调用图集图片实现方法 函数代码 请将代码加入到 /includ
大家都知道,Discuz程序在发文章时有个【隐藏】功能,可以限制这个隐藏内容供某些级别的会员查看。 在织梦模板中,做些改动,也是可以实现的。例如:电话号码,下载地址等等。 前提是织梦开启会员功能,已经有了自定义字段。 一、建立文件 ajax_loginsta_c.p
大家在使用织梦的时候,用到会员中心可能涉及到多二级域名同步登录退出的问题,涉及到跨域,那么这个问题该如何解决呢?在一个技术大牛博客看到过此教程,特此转发分享给大家,解决大家问题。 首先打开 \include\dedeajax2.js 找到 DedeXHTTP = new XMLHttpR
大家在使用织梦标签调用手机站内容页上一篇下一篇的时候,发现下一篇调用的是上一篇的内容,织梦DEDE默认手机版内容页面点击下一篇却跳转到了上一篇怎么办? 这段代码可能是官方写错造成的,首先找到网站目录下面的/include/arc.archives.class.php文件,打