在contao中排序新闻

时间:2017-11-09 10:11:59

标签: sorting 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);       


}

1 个答案:

答案 0 :(得分:1)

这是一个MySQL问题,而不是一个Contao问题。例如,请参阅MySQL: Order by field, placing empty cells at end

您可以尝试以下示例:

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