我有一个显示NEWS类型的所有内容的视图 新闻有类似的领域:
内容=标题
Scheduler = publish-on
并在排序条件中:我想要排序内容有两个选项: 使用调度程序(publish-on = DESC) 和发布日期
我希望使用调度程序对内容进行排序,当调度程序字段为空时,他会使用发布日期进行排序 我创建了钩子视图查询alter 我有一个问题 如果publishon为空,我如何用条件对字段进行排序,然后用postdate排序
function custom_sort_views_query_alter(&$view, &$query) {
if($view->name === 'articleview') {
$view->query->add_where(1,'publish_on', 'NOT IN');
$view->query->orderby[0]['field'] = "CASE WHEN publish_on IS NULL THEN created ELSE publish_on END";
$view->query->orderby[0]['direction'] = "DESC";
$view->query->orderby[1]['field'] = "created";
$view->query->orderby[1]['direction'] = "DESC";
}
}
答案 0 :(得分:0)
如果我理解正确,您应该使用condition ? value_if_true : value_if_false
之类的三元操作,以便放置value_if_true或value_if_false。