Перейти к основному содержанию

Добавление условия во views при помощи hook_views_query_alter()

Отправлено said от вс, 11/25/2018 - 23:24

Если для выбора сущностей во вьюс требуется какое-то хитрое условие, которое не возможно задать через админку, то можно в модуле использовать hook_views_query_alter , например так:

use Drupal\views\ViewExecutable;
use Drupal\views\Plugin\views\query\QueryPluginBase;

function kf_helper_views_query_alter(ViewExecutable $view, QueryPluginBase $query) {
  if ($view->id() == 'loshad' && $view->getDisplay()->display['id'] == 'page_1') {
    $args = [
      ':now' => date('Y'),
      ':ages' => 4,
    ];
    $query->addWhereExpression('', 'node__field_god_rozhdeniya.field_god_rozhdeniya_value + :ages <= :now', $args);
  }
}

 

Теги