在 contao 中对新闻进行排序



我正在使用github的"contao-news-sorting"模块根据排名值对我的新闻进行排序。此排名字段在新闻 dca 中扩展。我能够按升序对它进行排序。但问题是,当排名字段为空时。默认情况下,它将空值为零,并首先显示。我实际上需要这样的空值才能显示在底部。我能为此做些什么?我的代码是

 public function fetchrankItems($newsArchives, $blnFeatured, $limit, $offset, $objModule) {
    $newsobject=  NewsModel::findPublishedByPids($newsArchives, $blnFeatured, $limit, $offset);
    $t = NewsModel::getTable();        
    $arrOptions = array();
    switch ($objModule->news_sorting)
    {
        case 'sort_rankid_asc':
            $arrOptions['order'] = "$t.rankid ASC";                
            break;
        case 'sort_random':
            $arrOptions['order'] = "RAND()";
            break;
        default:
            $arrOptions['order'] = "$t.date DESC";
    }
      return NewsModel::findPublishedByPids($newsArchives, $blnFeatured, $limit, $offset, $arrOptions);       

}

这更像是一个MySQL问题,而不是一个Contao问题。例如,请参阅MySQL:按字段排序,将空单元格放在末尾。

例如,您可以尝试以下操作:

$arrOptions['order'] = "IF ($t.rankid <> '', 0, 1)";

最新更新