Вы здесь

Как реализовать бесконечную загрузку контента без Views?

0

Добрый день.

Допустим, вручную нужно создать страницу с данными и пагинатором.
Сначала строится и запускается SQL-запрос, затем из его результатов формируется набор данных.
Также можно подключить пагинатор с помощью примерно такого кода

$build['pager'] = array(
      '#type' => 'pager',
      '#weight' => 10,
    );

Вот хотелось бы узнать, существует ли решение, которое бы позволило подключить пагинатор с функционалом, как у модуля Views Infinite Scroll ? То есть, пользователь прокручивает страницу вниз и ему подгружается новый набор данных. Либо хотя бы кнопка с надписью "Загрузить еще".

Никто с таким не сталкивался ? Я ищу именно под 8.

Версия Drupal: 
8.x
Категория: 
AJAX
Вопрос задан 26.08.2017 - 16:31

Ответы

1

В D8 можно из коробки любую страницу в ajax отдавать.
Делаешь ссылку следующая страница и на неё вешаешь при помощи скрипта Drupal.ajax

Вот пример скрипта, надо только посмотреть настройки element_settings чтобы была не замена, а добавление в конец.

(function ($, window, Drupal, drupalSettings) {
  'use strict';

  Drupal.behaviors.testNodeLoad = {
    attach: function (context, settings) {
      $('.title a').once('ajax').each(function () {
        var element_settings = {};
        // Clicked links look better with the throbber than the progress bar.
        element_settings.progress = {type: 'throbber'};

        // For anchor tags, these will go to the target of the anchor rather
        // than the usual location.
        var href = $(this).attr('href');

        if (href) {
          element_settings.url = href;
          element_settings.event = 'click';
        }
        element_settings.method = 'html';
        // Selector куда будем загружать ноду.
        element_settings.wrapper = 'element_id';
        element_settings.element = this;
        Drupal.ajax(element_settings);
      });
   }
  };
})(jQuery, window, Drupal, drupalSettings);
Ответ дан 27.08.2017 - 09:53
-1

так а чем сам Views Infinite Scroll не подходит? https://www.drupal.org/project/views_infinite_scroll на странице проекта указано что есть стабильная версия для д8

Ответ дан 27.08.2017 - 09:33

Ну, если вы формируете набор данных не через views, то как вы сможете подключить views_infinite_scroll ?

Комментарий оставлен 27.08.2017 - 12:41