織夢文章列表中,比如我要求顯示最新文章,并按id降序排列,但是,附加表中有一個字段,就叫結束時間的endtime字段,要求按這個字段的值重新排序.比如要求,如果結束時間的值小于系統(tǒng)當前時間,則這個字段值對應的文檔自動放到文章列表的最結尾顯示.
在文章列表中.要求結束的活動自動排到最后面顯示.怎么實現呢
需要修改系統(tǒng)文件.include\arc.listview.class.PHP
找到類似這句$artlist1 .= $this->dtp2->GetResult();
修改為,意思是說,如果文檔是已經結束活動的信息,與進行中的分開運算.最后進行拼接.這樣,就可以把本已按id降序調用好的20個文章列表,進行重新調整位置后,再顯示
if($row['myendtime']!=''){
if($row['myendtime']<time()){//已結束的活動
$artlist2 .= $this->dtp2->GetResult();
}else{
$artlist1 .= $this->dtp2->GetResult();
}
$artlist=$artlist1.$artlist2;
}else{
$artlist .= $this->dtp2->GetResult();
}
如果是網站首頁.用dede:arclist調用列表.則需要修改另外一個文件.\include\taglib\arclist.lib.php,找到下面兩句.
$liststr = $dtp2->GetResult();
$artlist.= $liststr."\r\n";
整體替換為
$liststr = $dtp2->GetResult();
if($row['myendtime']!=''){
if($row['myendtime']<time()){//已結束的活動
$artlist2 .= $liststr."\r\n";
}else{
$artlist1 .= $liststr."\r\n";
}
$artlist=$artlist1.$artlist2;
}else{
$artlist.= $liststr."\r\n";
}