• 网站认证
  • 教程:6,667|
  • 话题:6,325|
  • 评论:55|
  • 会员:243|
  • 注册
  • 查看作者
  • 织梦DedeCMS调用昨天发布、两天前发布、某个时间段得文章

    某些情况下,我们需要调用昨天发布和某个时间段发布的文件,这个是我在以前做一个网页游戏站点时候使用到得,而织梦默认的只能够调去X天内发布的文章,于是我们就需要自己动手DIY了,

    具体的文件是include\\taglib\\arclist.lib.php

    找到:

    //时间限制(用于调用最近热门文章、热门评论之类),这里的时间只能计算到天,否则缓存功能将无效
    if($subday > 0)
    {
    $ntime = gmmktime(0, 0, 0, gmdate('m'), gmdate('d'), gmdate('Y'));
    $limitday = $ntime – ($subday * 24 * 3600);
    $orwheres[] = " arc.senddate > $limitday ";
    }

    修改为:

    //时间限制(用于调用最近热门文章、热门评论之类),这里的时间只能计算到天,否则缓存功能将无效
    //当subday=1的时候调用1天内的文章
    //当subday=2的时候调用昨天的文章
    //当subday=3的时候调用2天前得所有文章
    //当subday=7的时候调用7天内得所有文章
    if($subday > 0)
    {
    if($subday == 1)
    {
    $ntime = gmmktime(0, 0, 0, gmdate('m'), gmdate('d'), gmdate('Y'));
    $limitday = $ntime – ($subday * 24 * 3600);
    $orwheres[] = " arc.senddate > $limitday ";
    }
    else if ($subday == 2)
    {
    $ntime = gmmktime(0, 0, 0, gmdate('m'), gmdate('d'), gmdate('Y'));
    $limitday = $ntime – ($subday * 24 * 3600);
    $lomitday = $ntime;
    $orwheres[] = " arc.senddate < $lomitday && arc.senddate > $limitday";
    }
    else if ($subday == 3)
    {
    $ntime = gmmktime(0, 0, 0, gmdate('m'), gmdate('d'), gmdate('Y'));
    $limitday = $ntime -($subday * 24 * 3600)+(1*24 * 3600);
    $orwheres[] = " arc.senddate < $limitday ";
    }
    else if ($subday == 7)
    {
    $ntime = gmmktime(0, 0, 0, gmdate('m'), gmdate('d'), gmdate('Y'));
    $limitday = $ntime – ($subday * 24 * 3600);
    $orwheres[] = " arc.senddate > $limitday ";
    }
    }
    }

    至于使用方法,注释已经很详细了

    {dede:arclist row=10 titlelen=32 subday='1'}
    <li><a href="[field:arcurl/]">[field:title/]</a></li>
    {/dede:arclist}

    //当subday=1的时候调用1天内的文章
    //当subday=2的时候调用昨天的文章
    //当subday=3的时候调用2天前得所有文章
    //当subday=7的时候调用7天内得所有文章

  • 0
  • 0
  • 0
  • 2.1k
  • 请登录之后再进行评论

    登录
  • 做任务
  • 实时动态
  • 偏好设置
  • 单栏布局 侧栏位置: