织梦文章列表页怎么按发布时间排序 不准用更新时间或ID来排序
织梦dedecms怎么调用获取当前系统的日期时间星期几,代码如下:
通过 织梦标签调用
{dede:mytime runphp='yes'}
@me=date("Y年 m月 d日");
$weekarray=array("日","一","二","三","四","五","六");
@me = date("Y年 m月 d日")" 星期"$weekarray[date("w")];
{/dede:mytime}
通过 php获取
{dede:php}
$GLOBALS['thisid'] = intval($refObj->Fields['id']);
{/dede:php}
通过js获取
js调用当天是周几:
<script language="JavaScript">
function initArray(){
thislength=initArrayargumentslength
for(var i=0;i<thislength;i++)
this[i + 1] = initArrayarguments[i]
}
var d=new initArray("<font color=RED>星期日","<font color=black>星期一","<font color=black>星期二","<font color=black>星期三","<font color=black>星期四","<font color=black>星期五","<font color=red>星期六");
documentwrite(d[todaygetDay()+1]);
</script>
js调用当天日期:
<script language="JavaScript">
today=new Date();
documentwrite("<font color=black>",todaygetFullYear(),"<font color=black>年","<font color=black>",todaygetMonth()+1,"<font color=black>月","<font color=black>",todaygetDate(),"<font color=black>日 </FONT>");
</script>
修改dede/templets/diy_listhtm,43行处加入
else if($fielddata[1]=='datetime')
{
$fields[$field] = GetDateTimeMk($fields[$field]);
}
{dede:arclist flag='h' typeid='' row='' col='' titlelen='' infolen=''
imgwidth='' imgheight='' listtype='' orderby='' keyword='' limit='0,1'}
<a href='[field:arcurl/]'>[field:title/]</a>
{/dede:arclist}
以上是调用代码,下面是排序方式说明!
orderby='sortrank' 文档排序方式orderby='hot' 或 orderby='click' 表示按点击数排列orderby='sortrank' 或 orderby='pubdate' 按出版时间排列orderby='near'orderby=='lastpost' 按最后评论时间orderby=='scores' 按得分排序orderby='id' 按文章ID排序orderby='rand' 随机获得指定条件的文档列表
orderway='desc' 值为 desc 或 asc ,指定排序方式是降序还是顺向排序,默认为降序
模板前端后端都正常,但自己的模板提交后显示不正常,原因:
自定义表单,增加字段、减少字段、更改字段,表单验证都会发生变化,在确认更改后,回到模板提交页面,右键原代码,下面两处会发生变化(举例),你自己的模板页面随着要进行更改,否则就会出现此错误。
<input type="hidden" name="dede_fields"
value="xingming,text;dianhua,text;youxiang,text;liuyan,multitext;gongsi,text;nativeplace,text;tzed,select;hfsj,radio;shijian,text" />
<input type="hidden" name="dede_fieldshash" value="dde4685d746ba7b46a435b5292aa882a" />
你这句{dede:fieldsenddate function='MyDate("m-d","@me")'/} 里的field后面用的是senddate吗,这个字段显示的是发布时间,如果是默认的没改的话就是pubdate,pubdate显示的是录入时间
楼主你好
这个在首页的模板indexhtm中可以直接添加时间的调用,方法是找到对应的文章标题,在后面添加 [field:pubdate function="MyDate('Y-m-d',@me)"/],不过样的话你可能需要调整样式,让时间显示在文章标题的右侧,可以加个<span>写个样式。
希望可以帮到你。 林羽凡
将以下自定义函数 放到include/extendfuncphp 中
/文章发布多少时间前/function tranTime($time) {
$rtime = date("m-d H:i",$time);
$htime = date("H:i",$time);
$time = time() - $time;
if ($time < 60) {
$str = '刚刚';
}
elseif ($time < 60 60) {
$min = floor($time/60);
$str = $min'分钟前';
}
elseif ($time < 60 60 24) {
$h = floor($time/(6060));
$str = $h'小时前 '$htime;
}
elseif ($time < 60 60 24 3) {
$d = floor($time/(606024));
if($d==1)
$str = '昨天 '$rtime;
else
$str = '前天 '$rtime;
}
else {
$str = $rtime;
}
return $str;
}
函数: tranTime()
其实就是用上这个自定义函数 就可以了
<php
echo tranTime($mytime);
>
DEDE用法
列表页 [field:pubdate function="tranTime(@me)" /]
内容页 {dede:fieldpubdate function="tranTime(@me)"/}
这个很简单的 修改文章的发布时间 就可以了 可以更新到当前的 当然你要改到以前的 也可以实现的 这个我也不是很清楚 一般通过修改数据库吧!
本文实例讲述了dedecms自定义表单添加发布时间功能的方法。分享给大家供大家参考。具体实现方法如下:
dedecms自定义表单非常强大,可以做如报名系统、招聘系统、返修系统等等,唯一不好在于用户提交了表单之后,后台不显示提交时间
网上有一种方法是:
复制代码
代码如下:
<input name="shijian" id="shijian" value="{dede:php} echo $showtime=date("Y-m-d H:i:s");{/dede:php}">
但是我试了试结果却不尽人意,每次我提交表单时的时间都是一样的说明这个方法还是不行的,大家可以亲自测试;
所以我这里起点共享一个通过JS实现发布时间的方法,过程很简单:
1自定义表单添加一个文本字段(注意不是时间字段),如字段名“填写时间”,字段函数名“shijian”;
2在表单中时间字段中,按如下例子,加入JS代码:
http://wwwdede58com/a/dedejq/1630html
0条评论