dedecms 最后更新时间,格式,怎么显示今日或XX天前
DEDE整站生成静态的时候,首页、列表页、文章内容页都是生成HTML,当文档页面刷新的时候,点击次数是不变的,需要重新生成页面。经过分析dede内容页的field标签,解决方案如下:
。
JS解决办法:({dede:fieldclick/}这个不能实时刷新,要使用JS调用。)
内容页调用方法:在DEDE里面有一个php文件是专门用来统计点击次数的,这个文件叫countphp,我们只需要给它传递一些参数就可以获得文章的点击次数,调用的方式也是用JS来调用,这段代码大家也不需要去记,只要在用的时候复制进去就可以。
这是文章页调用文章点击次数,{dede:field name='id'/}是文章ID。
列表页和首页调用方法:在列表页和首页你可以在循环里面使用[fieldid /]获取,mid是发帖人,一般都是用admin帐号发文章,所以一般都是1。因为在list列表中不能有{},所以你就写实际地址:
这样,首页和列表页的点击次数也就能够像文章内容页一样实时点击刷新了,尤其适合博客
我已经解决了。现在把方法告诉你。都是我自己摸索出来的。。虽然我不知道什么意思。。。
下面是步骤:
1:找到 co_exportphp
然后找到这段代码:
else if($itemName == 'pubdate')
{
$pubdate = trim($ctag->GetInnerText());
if(preg_match("#[^0-9]#", $pubdate))
{
$pubdate = $sortrank = GetMkTime($pubdate);
}
/ else
{
$pubdate = $sortrank = time();
}
/
}
else if($itemName == 'litpic')
{
$litpic = trim($ctag->GetInnerText());
}
2然后干掉 / /之间的代码就OK了。
将以下自定义函数 放到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)"/}
css样式要设置
news_box ul li a {float: left;
width: 80%;
overflow: hidden;
}
news_box ul li span {
float: right;
width: 18%;
}
0条评论