Выполнение загрузки еще Ajax в модуле блога Silverstripe 4 - PullRequest
0 голосов
/ 07 мая 2019

В настоящее время я использую модуль блога SS4.Мы использовали постраничный стиль блога.

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

Есть идеи, как это сделать в SS4?

IЯ ищу пример этого, но сообщество не смогло дать мне ответ.

1 Ответ

0 голосов
/ 21 мая 2019

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

Разбиение на страницы: это представление похоже на книгу, где вам действительно нужно пролистывать каждую «страницу». Если вы находитесь на странице 2, вы не увидите, что на странице 1.

LoadMore: вы начинаете со страницы 1, а затем добавляете результаты страницы 2 в представление, где находится страница 1. Таким образом, вы можете просматривать страницу 1 и страницу 2 на одной странице, создавая стопку страниц.

Для LoadMore, который вы спросили. Вам нужна переменная js var currentPage = 1; для хранения текущей страницы, которая будет загружена с сервера. Каждый раз, когда вы запрашиваете данные, вам необходимо указывать текущую страницу, на которой вы находитесь. Логически что-то вроде этого

  1. Вы визуализируете свою страницу с загруженной Page1; currentPage = 1;
  2. кнопка OnClickingLoadMore; CurrentPage ++;
  3. Отправьте запрос через ajax. var url = 'server.com/posts/pull?page='+currentPage;
  4. Добавить возвращенные данные в текущем представлении.

PostsController.php

добавить имя метода к разрешенному действию

private static $allowed_actions = [ 'pull', ];

Создайте метод с именем «pull» с приведенным ниже кодом.

$oListings = BlogPost::get(); $oList = new PaginatedList( $oListings, $this->request ); $oList->setPageLength( $limit ); $oList->setCurrentPage( $page );

И, наконец, ваш rout.yml (упрощенно)

SilverStripe\Control\Director: rules: 'posts//$Action/$ID/$OtherID': 'PostsController'

Наконец, используя jQuery, вы можете ПРИЛОЖИТЬ [http://api.jquery.com/append/], чтобы добавить больше контента на вашу страницу.

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...