Drupal 9 image field migration

Як ви вже знаєте у views є доволі повна конфігурація пагінації, де ви можете налаштувати кількість елементів для виводу, скільки пропустити, скільки відобразити і таке інше.
Але там немає конфігурації мінільної кількості елементів для відображення!
Наприклад, ми не хочемо виводити блок, у якому назбиралось менше аніж 5 елементів у результатах. Можливо це зламає наши стилі чи щось інше.
В такому випадку буде в нагоді проста умова у hook_views_post_execute:

/**
 * Implements hook_views_post_execute().
 */
function my_commerce_views_post_execute(ViewExecutable $view) {
  // Do not display block if there is less than 5 products.
  if ($view->id() == 'my_view_id'
    && $view->current_display == 'my_display_name'
    // && \Drupal::currentUser()->isAnonymous()
  ) {
    if (count($view->result) < 5) {
      $view->build_info['fail'] = TRUE;
    }
  }
} 

Також додадково можна додати умову для показу блока тільки анонімам (\Drupal::currentUser()->isAnonymous()).

Коментувати

Вміст цього поля є приватним і не буде доступний широкому загалу.
  • Не дозволено жодних HTML теґів.