Рейтинг:0

Вложенные представления ajax разбиение на страницы

флаг in

Я использую Drupal 9 и views_field_view для встраивания «дочернего» представления в «родительское» представление. Поскольку в родительском представлении есть несколько строк, я получаю несколько отображаемых «дочерних» представлений. Это предотвращает рендеринг «разбиения на страницы», поскольку «идентификатор пейджера» одинаков для нескольких отображаемых дочерних представлений.

Я могу обойти эту проблему рендеринга, программно установив идентификатор пейджера. См. код ниже.

используйте Drupal\views\ViewExecutable;

функция hook_views_pre_view (ViewExecutable $ view, $ display_id, массив и $ args) {
  
  если ($view->id() == '<view_id>') {
    $unique_id = $view->аргументы[0]; // аргумент, который является уникальным идентификатором
    $view->pager->options['id'] = $unique_id;
  }
}

Используя приведенный выше код в модуле, теперь появляется пейджер дочернего представления. Однако нажатие номеров или кнопок пейджера приводит к обновлению родительского представления вместо дочернего.

Как я могу изменить пейджер для «дочернего» представления, чтобы он обновлял дочернее представление вместо родительского?

Кажется, мне нужно правильно инициализировать пейджер или изменить jquery, чтобы он обновлял дочернее представление вместо родительского? Как я могу это сделать?


Вот некоторые вещи, которые я изучал, но пока не помогли:

  1. Исправление просмотров Drupal 7 - не применимо, так как представления перемещены в ядро?
  2. Просмотры загружают больше проблем, Представления показывают больше модуля, Просматривает проблему бесконечной прокрутки
  3. В модуле views_field_view кажется, что он пытается установить уникальный идентификатор для пейджера перед использованием следующего $view->initPager(); для инициализации пейджера. Однако отладка показывает, что установленный идентификатор не применяется к представлению $. Возможно, что-то изменилось с initPager? (хотя API не указывает, что он есть)

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.