Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

[Решено] Не работает пагинация только на странице "Акции"


lavka
 Поделиться

Рекомендованные сообщения

Не работает пагинация на странице "Акции". На других страницах (Категории, Производители, Поиск) все в порядке.

 

Что делал:

В файлах catalog/controller/product/category.php, manufacturer.php, search.php, special.php менял количество товаров на страницу, было ("из настроек",25,50,75,100), сделал ("из настроек", 69,100,999). И отключал ненужные варианты сортировки.

 

Как сейчас выглядит проблема:

Сейчас 469 товаров со скидкой (акцией) и когда заходишь на страницу, в списке "количество товаров на страницу" сразу же выбрано максимальное (999), хотя реально товаров отображается 30 (значение по умолчанию). Также внизу написано

Показано с 1 по 469 из 469 (страниц: 1)

И отсутствует пагинация. При переключении количества товаров на странице (любое значение - 30, 69, 100), само количество товаров на странице реально меняется, но пагинация не появляется и в выпадающем списке переключателя выбрано "999".

 

Как пробовал решать:

Если заменяю файл catalog/controller/product/special.php на оригинальный из сборки ocstore 1.5.5.1.1, то внизу появляется пагинация, которая всегда показывает 5 страниц, и написано "Показано с 1 по 100 из 469" независимо от выбранного количества на страницу. Также в списке выбора количества сразу выбрано "100" и при переключении после перезагрузки страницы отображается "100", хотя количество товара меняется. При этом количество страниц остается прежним (5).

 

В чем может быть проблема? Остальные страницы (Категории, Производители, Поиск) работают прекрасно, уже говорил.

Ссылка на комментарий
Поделиться на других сайтах


посмотри откуда берётся переменная в $pagination->total = $product_total; и станет ясно откуда эти цифры:

Показано с 1 по 469 из 469 (страниц: 1)
Ссылка на комментарий
Поделиться на других сайтах

Ну, я вижу строку (253) $pagination->total = $product_total;

И вижу до нее строку (101) $product_total = $this->model_catalog_product->getTotalProductSpecials($data);

 

Поможете с выводами? Я не знаю, что это мне должно сказать... :)

Ссылка на комментарий
Поделиться на других сайтах


Еще раз большое спасибо Baco за оперативную помощь.

На всякий случай оставлю его решение в файле catalog/controller/product/special.php

Было

foreach($limits as $limit){$this->data['limits'][] = array(
'text'  => $limit,
'value' => $limit,
'href'  => $this->url->link('product/special', $url . '&limit=' . $limit)
);
} 

Стало

foreach($limits as $limits){
$this->data['limits'][] = array(
'text'  => $limits,
'value' => $limits,
'href'  => $this->url->link('product/special', $url . '&limit=' . $limits)
);
}

Везде 'limits', короче.

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах


  • 3 недели спустя...
  • 2 недели спустя...

Еще раз большое спасибо Baco за оперативную помощь.

...

огромное спасибо, не знал как эту проблему решить Изменено пользователем afwollis
Ссылка на комментарий
Поделиться на других сайтах


  • 4 недели спустя...
  • 3 месяца спустя...
  • 7 месяцев спустя...
  • 1 месяц спустя...

На OC 1.5.6 решение не помогло

А вы попробуйте сравнить исходные файлы 1.5.5.1 и 1.5.6 в http://text-compare.com/

Может, всплывет какая очевидная разница и решение можно будет адаптировать.

Ссылка на комментарий
Поделиться на других сайтах


  • 1 месяц спустя...

нужно так

 

foreach($limits as $value){
            $this->data['limits'][] = array(
                'text'  => $value,
                'value' => $value,
                'href'  => $this->url->link('product/special', $url . '&limit=' . $value)
            );
        }

Ссылка на комментарий
Поделиться на других сайтах


  • 4 месяца спустя...
  • 6 месяцев спустя...

Ребят, у меня проблема другая. Нажимаешь на странице акций на страницу 2 и тебя кидает на главную.

 

При этом ссылка верная special/page/4

Ссылка на комментарий
Поделиться на других сайтах


  • 1 месяц спустя...

Еще раз большое спасибо Baco за оперативную помощь.

...

OC 1.5.5.1 изменила код и выскочили ошибки :

PHP Notice:  Undefined variable: result in vqmod/vqcache/vq2-catalog_controller_product_category.php on line 340

PHP Notice:  Undefined variable: result in vqmod/vqcache/vq2-catalog_controller_product_category.php on line 339

 

if ($result['quantity'] <= 0) {

                $rstock = $result['stock_status'];

 

Кто подскажет как исправить?)

Ссылка на комментарий
Поделиться на других сайтах


  • 3 недели спустя...

Очень хорошая тема, спасибо автору.

 

Ув. коллеги, прошу вашей помощи в решении вот такой проблемы.

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

 

Я не сильно силен в кодинге, только учусь :)

 

Но смог выяснить, что по какой-то причине ссылка на данные номера страниц не генерируется.

 

Прилагаю скрин для наглядности.

 

ocStore Версия 1.5.5.1.2

err.jpg

Изменено пользователем Dmitriyy
Ссылка на комментарий
Поделиться на других сайтах


Друзья, только что выяснил, что данная проблема постраничной навигации исчезает когда в модуле FilterPro v2.3.10 отключены все схемы расположение фильтра. Надеюсь эта информация будет полезной, что бы определить где искать проблему, так как фильтр необходим.

 

Кто нибудь может подсказать решение?

Заранее благодарю.

Ссылка на комментарий
Поделиться на других сайтах


  • 2 месяца спустя...
  • 4 года спустя...
  • 2 месяца спустя...

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.