Перейти к содержимому


Фотография
- - - - -

Управление рендерингом пагинации


Сообщений в теме: 8

#1 sipeta

sipeta

Отправлено 12 May 2016 - 08:41

Добрый день!

 

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


  • 0

#2 Cheren-dow

Cheren-dow

Отправлено 12 May 2016 - 09:09

Здравствуйте sipeta, что именно вы хотите сделать, какой шаблон и версия JBZoo?


  • 0
Posted Image
 

#3 sipeta

sipeta

Отправлено 12 May 2016 - 11:02

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

Например, на 99 странице раздела люстры (http://dar-sveta.ru/lyustru/99) видно что не отображается ни одного товара. Это связано с тем что запрос на количество страниц пагинации и запрос на сами товары - разные. Необходимо добавить дополнительно условие в запрос на пагинацию.

 

Joomla: 3.4.5     JBZoo: 2.1.5 Pro (build 1)     Zoo: 3.3.4

Шаблон:

<extension version="3.1" type="template" client="site">

    <name>dar-sveta</name>
    <version>1.0</version>


  • 0

#4 Cheren-dow

Cheren-dow

Отправлено 12 May 2016 - 12:23

sipeta, посмотрите этот топик.


  • 0
Posted Image
 

#5 sipeta

sipeta

Отправлено 13 May 2016 - 07:07

Cheren-dow, это не совсем то что нужно. Тут происходит именно вывод пагинации. К этому моменту она уже проинициализирована и в ней указано количество элементов. Нам нужно изменить запрос в базу на основе которого это количество определяется. Где мы можем это сделать?


  • 0

#6 LeMax

LeMax

Отправлено 13 May 2016 - 07:31

Не по теме, но полезно :) - случайно нашлась ошибка на Вашем сайте

Прикрепленные изображения

  • Снимок экрана 2016-05-13 в 11.29.46.png

  • 0

#7 SmetDenis

SmetDenis

Отправлено 13 May 2016 - 14:49

Выборка из категории происходит с помощью этого файла

administrator\components\com_zoo\tables\item.php getByCategory() и getItemCountFromCategory()

В том же файле есть запросы для других целей, например выборка для страницы по алфавиту, тегам и т.д.

Вызов этой функции происходит тут
components\com_zoo\controllers\default.php category()

Так же стоит обратить внимание на функцию getItemIds() и itemCount() которые отвечают за кол-во материалов внутри категории
administrator\components\com_zoo\classes\category.php
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#8 sipeta

sipeta

Отправлено 16 May 2016 - 08:58

Добрый день!

 

Спасибо, нам как раз интересны функции getItemIds() и itemCount(). Но проблема в том что они работают с уже выгруженным в класс списком ID элементов. А вот где формируется сам этот список? Запрос в базу на его изменение необходимо менять на более низком уровне.


  • 0

#9 Cheren-dow

Cheren-dow

Отправлено 16 May 2016 - 11:37

sipeta, если посмотреть контроллер и метод category :

\components\com_zoo\controllers\default.php

Вы найдете строку:

$this->items = $this->app->table->item->getByCategory($this->application->id, $category_id, true, null, $this->item_order, $offset, $items_per_page, $ignore_priority);

Как раз отвечающая за выборку материалов. Скорей всего вам именно тут необходимо подставлять значения, что бы запрос был корректный. 


  • 0
Posted Image
 




Click to return to top of page in style!