Як ви вже знаєте у 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()).
Коментувати