Помогите переделать код под Drupal 8:
<?php
function MYMODULE_views_query_alter(&$view, &$query) {
if ($view->name == 'statji' OR $view->name == 'istorii') {
if ($view->args[1] == 'all') {
foreach ($query->where as &$where_group) {
foreach ($where_group['conditions'] as &$condition) {
if ($condition['value'] === 'all') {
$condition['value'] = NULL;
$condition['operator'] = 'IS NULL';
}
}
}
}
if (
$view->args[3] == 'best') {
$query->orderby[0]['field'] = 'count';
$query->orderby[0]['direction'] = 'DESC';
}
}
}
?>
Комментарии
Вот так стало работать как надо:
<?php
function MYMODULE_views_query_alter($view, $query) {
if ($view->id() == 'statji' OR $view->id() == 'istorii') {
if ($view->args[1] == 'all') {
$query->addWhere(0, 'taxonomy_term_field_data_node__field_rubrika.tid', NULL, 'IS_NULL');
}
}
}
?>
Пока только с этим не разобрался еще:
<?php
if ($view->args[3] == 'best') {
$query->orderby[0]['field'] = 'count';
$query->orderby[0]['direction'] = 'DESC';
}
?>