某些情況下,我們需要調用昨天發布和某個時間段發布的文件,這個是我在以前做一個網頁游戲站點時候使用到得,而織夢默認的只能夠調去X天內發布的文章,于是我們就需要自己動手DIY了,
具體的文件是include aglibrclist.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天內得所有文章