Jump to content


Photo
* * * * * 2 votes

Бесконечный скролл (подгрузка айтемов вместо пагинации)

infinite scroll scroll скролл бесконечный цикл ajax ajax scroll pagination в jbzoo подгрузка айтемов items рецепт

41 replies to this topic

#31 radiant

radiant
  • JBZoo User (rus)
  • User rate: 0.9
  • posts: 166
  • topics: 9

Posted 17 October 2018 - 14:26

Когда есть несколько приложений с шаблоном uikit, но нужно не во всех приложениях делать такой скролл, я поступил так:
 
1) Ложим файл _loading.php в папку media/zoo/applications/jbuniversal/templates/uikit/renderer/item_columns/
2) Ложим файл jquery-ias.min.js и loading.gif куда вам угодно
3) В файле _loading.php указываем путь к loading.gif
4) В файле /media/zoo/applications/jbuniversal/templates/uikit/helpers/jbuikit.php на 81 строке для ссылки пишем класс:  class="next"
5) В шаблоне сайта (обычно index.php до </head>) пишем: <script src="/ВАША ПАПКА/jquery-ias.min.js" type="text/javascript"></script> и указываем путь к jquery-ias.min.js
6) В настройках нужного приложения, в "Колонка элементов" указываем _loading и сохраняем настройки
7) Проверяем.

 

Пункт 6 можно использовать отдельно и в настройках категорий приложения.
 
Пункт 5 можно было бы не делать,
пробовал в файле _loading.php
проверить $this->app->document->addScript('/ВАШ ПУТЬ/jquery-ias.min.js');
но $this->app->document->addScript не сработал.


Edited by radiant, 17 October 2018 - 14:33.

  • 0

#32 radiant

radiant
  • JBZoo User (rus)
  • User rate: 0.9
  • posts: 166
  • topics: 9

Posted 01 December 2018 - 13:48

Пункт 5 можно было бы не делать,
пробовал в файле _loading.php
проверить $this->app->document->addScript('/ВАШ ПУТЬ/jquery-ias.min.js');
но $this->app->document->addScript не сработал.

 

Попробовал следующим способом и работает нормально.

 

1) 5 пункт не делаем, а если сделали, то сотрите эту строку в шаблоне своего сайта

2) В файле _loading.php перед <script type="text/javascript"> добавляем:

$this->app->jbassets->js('ВАШ ПУТЬ/jquery-ias.min.js');

сохраняем и проверяем.

 

В исходном коде страницы, файл jquery-ias.min.js не виден, но скрипт работает!


  • 1

#33 radiant

radiant
  • JBZoo User (rus)
  • User rate: 0.9
  • posts: 166
  • topics: 9

Posted 06 December 2018 - 16:10

2) В файле _loading.php перед <script type="text/javascript"> добавляем:
$this->app->jbassets->js('ВАШ ПУТЬ/jquery-ias.min.js');

сохраняем и проверяем.

 

В исходном коде страницы, файл jquery-ias.min.js не виден, но скрипт работает!

 

Что-то я напутал, при таком варианте .js файл не работает.

Тогда вместо этого, в файле _loading.php пишем:

$doc = JFactory::getDocument();
$doc->addScriptVersion(JUri::root().'ВАШ ПУТЬ/jquery-ias.min.js');

При таком варианте файл виден в исходном коде страницы, а значит загружается, значит все работает!


  • 1

#34 tarasovsergey

tarasovsergey
  • JBZoo User (rus)
  • User rate: 0.1
  • posts: 43
  • topics: 16

Posted 09 February 2019 - 07:09

Есть неприятный баг в самом JBZOO: если включить в настройках случайный вывод товаров, а потом пагинацию, например по 30 товаров, то каждый новая страница будет выдавать случайные 30 товаров, даже включая те товары, что были уже на предыдущих страницах. 
Это даже без подключения плагина, но с ним все заметнее!
Выручайте ребята!


  • 1

#35 mmth

mmth
  • JBZoo User (rus)
  • User rate: 22.3
  • posts: 546
  • topics: 8

Posted 09 February 2019 - 11:14

Есть неприятный баг в самом JBZOO: если включить в настройках случайный вывод товаров, а потом пагинацию, например по 30 товаров, то каждый новая страница будет выдавать случайные 30 товаров, даже включая те товары, что были уже на предыдущих страницах. 
Это даже без подключения плагина, но с ним все заметнее!
Выручайте ребята!

вполне разумное поведение случайного вывода. Случайный вывод предназначен для отображения ограниченного кол-ва товаров за 1 раз. 


  • 1

#36 CB9TOIIIA

CB9TOIIIA
  • Administrators
  • User rate: 230.6
  • posts: 3680
  • topics: 235

Posted 09 February 2019 - 17:18

Есть неприятный баг в самом JBZOO: если включить в настройках случайный вывод товаров, а потом пагинацию, например по 30 товаров, то каждый новая страница будет выдавать случайные 30 товаров, даже включая те товары, что были уже на предыдущих страницах. 
Это даже без подключения плагина, но с ним все заметнее!
Выручайте ребята!

 

это норма. Массив каждый раз мешается (shuffle  random)


  • 1

#37 tarasovsergey

tarasovsergey
  • JBZoo User (rus)
  • User rate: 0.1
  • posts: 43
  • topics: 16

Posted 10 February 2019 - 19:36

это норма. Массив каждый раз мешается (shuffle  random)

Вряд ли так задумывалось, ведь в таком случае НЕЛЬЗЯ ПОКАЗАТЬ ВСЕ ТОВАРЫ. Понимаете разницу?
Вот смотрите: поставил я это плагин, у меня 300 товаров в категории по 30 на страницу. Я кручу вниз страницу. Пока дошел до 5-ой, у меня один товар появился 5 раз, другой товар 3!

В итоге одни и те же товары, а трети товаров нет! Ужас, как заметно с этим плагином.

1) посетитель думает, что его держат за идиота или пытаются впарить определенный товар
2) я не могу показать весь ассортимент.
 
ЗЫ. Случайный вывод мне нужен.

Что можно сделать в моей ситуации?

Пытался изменить напрямую вывод в файле  category.php
shuffle($this->contents); // случайная сортировка
foreach($this->contents as $content) 
{
Но это не помогает. Точнее помогает, но товары перемешиваются только на своих страницах, не лезя в соседние страницы, что уже хорошо. Но сами страницы не мешаются.
Я думаю shuffle нужно поставить там, где формируется этот $this->contents
но в каком файле не нашел.

Edited by tarasovsergey, 10 February 2019 - 19:55.

  • 0

#38 fiction13

fiction13
  • JBZoo User (rus)
  • User rate: 272.6
  • posts: 604
  • topics: 23

Posted 11 February 2019 - 08:44

Вряд ли так задумывалось, ведь в таком случае НЕЛЬЗЯ ПОКАЗАТЬ ВСЕ ТОВАРЫ. Понимаете разницу?
 

При случайной сортировке товары показываются случайно, они из базы так берутся - со случайной сортировкой, при каждой загрузке любой страницы пагинации. В этом весь и смысл.

 

Переписывайте логику работы, контроллер, например. Все работает так, как и должно. И скрипт аякс пагинации тут не причем.


  • 2

#39 tarasovsergey

tarasovsergey
  • JBZoo User (rus)
  • User rate: 0.1
  • posts: 43
  • topics: 16

Posted 11 February 2019 - 10:20

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


Смысл случайности показать все товары случайным образом, ВСЕ - понимаете? В случае в пагинацией здравая логика ломается. Недоработка. Явная. У меня все.

Edited by tarasovsergey, 11 February 2019 - 10:20.

  • 0

#40 CB9TOIIIA

CB9TOIIIA
  • Administrators
  • User rate: 230.6
  • posts: 3680
  • topics: 235

Posted 11 February 2019 - 10:22

Так работает zoo, jbzoo, даже сама Joomla! Если есть желание исправить - welcome: https://github.com/JBZoo/JBZoo

 

vgif-ru-21869.gif


  • 2





Also tagged with one or more of these keywords: infinite scroll, scroll, скролл, бесконечный цикл, ajax, ajax scroll, pagination в jbzoo, подгрузка айтемов, items, рецепт

Click to return to top of page in style!