主頁 > 網(wǎng)站建設(shè) > 建站知識 > 織夢DedeCMS調(diào)用昨天發(fā)布、兩天前發(fā)布、某個時間

織夢DedeCMS調(diào)用昨天發(fā)布、兩天前發(fā)布、某個時間

POST TIME:2017-10-27 22:20

某些情況下,我們需要調(diào)用昨天發(fā)布和某個時間段發(fā)布的文件,這個是我在以前做一個網(wǎng)頁游戲站點時候使用到得,而織夢默認(rèn)的只能夠調(diào)去X天內(nèi)發(fā)布的文章,于是我們就需要自己動手DIY了,
具體的文件是include\taglib\arclist.lib.php
找到:

 //時間限制(用于調(diào)用最近熱門文章、熱門評論之類),這里的時間只能計算到天,否則緩存功能將無效
        if($subday > 0)
        {
            $ntime = gmmktime(0, 0, 0, gmdate('m'), gmdate('d'), gmdate('Y'));
            $limitday = $ntime - ($subday * 24 * 3600);
            $orwheres[] = " arc.senddate > $limitday ";
        }


修改為:

//時間限制(用于調(diào)用最近熱門文章、熱門評論之類),這里的時間只能計算到天,否則緩存功能將無效
//當(dāng)subday=1的時候調(diào)用1天內(nèi)的文章
//當(dāng)subday=2的時候調(diào)用昨天的文章
//當(dāng)subday=3的時候調(diào)用2天前得所有文章
//當(dāng)subday=7的時候調(diào)用7天內(nèi)得所有文章
  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 ";
  }
  }
  }

至于使用方法,注釋已經(jīng)很詳細(xì)了

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

//當(dāng)subday=1的時候調(diào)用1天內(nèi)的文章
//當(dāng)subday=2的時候調(diào)用昨天的文章
//當(dāng)subday=3的時候調(diào)用2天前得所有文章
//當(dāng)subday=7的時候調(diào)用7天內(nèi)得所有文章


收縮
  • 微信客服
  • 微信二維碼
  • 電話咨詢

  • 400-1100-266