Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Нумерация страниц внизу сайта


Unikal

Recommended Posts

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

Надіслати
Поділитися на інших сайтах


"много" это сколько?интересно было бы воспроизвести ошибку и поискать решение =)

Любое количество не помещающееся на 1 страницу. И при этом у половины снять галочку основной магазин. Появится этот глюк. В общем проблема в том что при просчете нумерации страниц не учитывается то что у товаров не стоит или не стоит галочка отображать в основном магазине а нумерует абсолютно все товары с учетом того сколько должно отображаться на странице
Надіслати
Поділитися на інших сайтах


Любое количество не помещающееся на 1 страницу. И при этом у половины снять галочку основной магазин.

не могу повторить ошибку.продуктов в категории: 24;на страницу: 20;всего страниц изначально: 2.следующее действие повторял для 8 (восьми), а потом и для 10 (десяти) продуктов из категории:

http://test.opencart/admin/index.php?route=catalog/product/update&product_id=some_id_here
вкладка "Ссылки"Магазины -> убираю галочку с "Основной магазин" (других нет)
все работает.пересчитывает товары и выводит постраничную навигацию верно.проверял на чистой версии opencart_1.4.8b_rus_0.1у Вас один магазин в базе?быть может проблема из-за какого-либо модуля/плагина?
Надіслати
Поділитися на інших сайтах

пересчитывает товары и выводит постраничную навигацию верно.

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

проверял на чистой версии opencart_1.4.8b_rus_0.1у Вас один магазин в базе?быть может проблема из-за какого-либо модуля/плагина?

у меня версия ocstore 0.1.2 магазин в базе 1 лишних модулей плагинов практически нет ставил только експорт импорт больше ничего нет.Меня эта проблема впринципе не парит просто заметил решил отписаться чтобы разработчики в курсе были.
Надіслати
Поділитися на інших сайтах


т.е. после того как вы убираете галочку у вас пропадает постраничная навигация?

да, именно это я и имел ввиду, просто не совсем верно выразился.

протестируйте тоже самое не с категорией а с производителем

начальные данные: Показано с 1 по 20 из 68 (всего страниц - 4)убрал некоторое количество товаров:навигация так и осталась для 4х страниц --- Показано с 1 по 20 из 68 (всего страниц - 4).на третьей странице всего 2 (два) товара и написано "Показано с 41 по 60 из 68 (всего страниц - 4)".скрин ниже

post-730-1293741788,7436_thumb.png

Надіслати
Поділитися на інших сайтах

т.е. после того как вы убираете галочку у вас пропадает постраничная навигация?

да, именно это я и имел ввиду, просто не совсем верно выразился.

протестируйте тоже самое не с категорией а с производителем

начальные данные: Показано с 1 по 20 из 68 (всего страниц - 4)убрал некоторое количество товаров:навигация так и осталась для 4х страниц --- Показано с 1 по 20 из 68 (всего страниц - 4).на третьей странице всего 2 (два) товара и написано "Показано с 41 по 60 из 68 (всего страниц - 4)".скрин ниже
Ну вот вы и повторили баг. 4 страница получается пустая спрашивается зачем она тогда нужна?
Надіслати
Поділитися на інших сайтах


нашел и пофиксил :!:

в файле catalog/model/catalog/product.php находим

public function getTotalProductsByManufacturerId($manufacturer_id = 0) {		$query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "product WHERE status = '1' AND date_available <= NOW() AND manufacturer_id = '" . (int)$manufacturer_id . "'");				return $query->row['total'];	}
меняем на

public function getTotalProductsByManufacturerId($manufacturer_id = 0) {		//$query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "product WHERE status = '1' AND date_available <= NOW() AND manufacturer_id = '" . (int)$manufacturer_id . "'");		$query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE status = '1' AND date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND manufacturer_id = '" . (int)$manufacturer_id . "'");				return $query->row['total'];	}
можно сделать иначе - создать другую функцию (с другим именем) для получения общего кол-ва товаров (на случай, если стандартная функция еще где-то каким-то боком используется).

public function afw_getTotalProductsByManufacturerId($manufacturer_id = 0) {		$query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE status = '1' AND date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND manufacturer_id = '" . (int)$manufacturer_id . "'");				return $query->row['total'];	}
но тогда прийдется редактировать еще и строку 40 в файле catalog/controller/product/manufacturer.php

вместо

$product_total = $this->model_catalog_product->getTotalProductsByManufacturerId($this->request->get['manufacturer_id']);
надо будет указать

$product_total = $this->model_catalog_product->afw_getTotalProductsByManufacturerId($this->request->get['manufacturer_id']);
скрины страниц:

post-730-1293741788,8036_thumb.png

post-730-1293741788,8538_thumb.png

post-730-1293741788,903_thumb.png

Змінено користувачем afwollis
вписал имя файла модели, который надо править. как я мог его упустить тогда? :о)
  • +1 1
Надіслати
Поділитися на інших сайтах

  • 4 months later...

Проблема аналогична (последняя версия Version 0.1.7)... Пробую искать строки, которые Вы указываете, но не могу их найти. В папке на Денвере W:\home\OpenCart\www\catalog\model\catalog 5-ть PHP файлов (category.php, information.php, manufacturer.php, product.php, review.php) и ни во одном нет строк - public function getTotalProductsByManufacturerId- Подскажите, пожалуйста, как решить проблему лишней страницы. И ещё один вопрос. По производителю Apple выдаётся 8-мь товаров, а внизу под ними пишется: Показано с 1 по 10 из 10 (всего страниц - 1). При этом, с тем же количеством товаров производителя Apple (8-мь), если в настройке количества элементов, показываемых на одной странице в каталоге (товары, категории и т.д.) указываю 3 вместо 20 по-умолчанию, то на 3-ей странице мне говорят, что: Показано с 7 по 9 из 10 (всего страниц - 4). Глюки. Как их убрать? Помогите, пожалуйста. Тут и лишняя 4-я страница из первого вопроса...

Змінено користувачем afwollis
kill the quote :D
Надіслати
Поділитися на інших сайтах


Androsss, спасибо за интерес. Странно, что я тогда упустил название файла :о)

Изменять надо файл

catalog/model/catalog/product.php
Перепроверьте его. Функция стандартная и просто обязана быть в этом файле.

Исправил свое сообщение.

Надіслати
Поділитися на інших сайтах

Androsss, спасибо за интерес. Странно, что я тогда упустил название файла :о)

Изменять надо файл

catalog/model/catalog/product.php
Перепроверьте его. Функция стандартная и просто обязана быть в этом файле.

Исправил свое сообщение.

Большое спасибо! Одним ответом Вы убили (решили, имеется в виду) два моих вопроса!!! :) Прошу прощения, а не подскажите ещё с такой проблемкой? Дизайн не дефолтный и кнопка акции стоит со всеми в меню, но в момент нахождения на странице "Специальные предложения" она (кнопка акции) не выделяется цветом, как другие кнопки при нахождении на страницах им соответствующим. Как сделать так, чтобы и эта кнопка была выделена в момент нахождения на её странице??? В CSS Navigation buttons всё прописано:

#cmnav a:hover {

text-decoration:none;

border-left: 1px solid #ffffff;

background: #339999;

}

#cmnav a.selected {

border-left: 1px solid #ffffff;

background: #339999;

При наведении курсора всё выделяется, как и положено, а в момент нахождения "горит" Главная...

Надіслати
Поділитися на інших сайтах


Прочитал обе страницы по указанной Вами ссылке, но, мягко говоря, для меня это пока сложновато... :( Будьте добры, укажите, пожалуйста, где именно и что надо сделать. Вот часть кода, как я понимаю, выводящая меню в моём header.tpl:
<ul>
  <li><a href="<?php echo $base; ?>" id="tab_home"><?php echo $text_home; ?></a></li><li><a href="<?php echo str_replace('&', '&', $special); ?>"><?php echo $text_special; ?></a></li><li><?php if (!$logged) { ?><a href="<?php echo str_replace('&', '&', $login); ?>" id="tab_login"><?php echo $text_login; ?></a></li><li><?php } else { ?><a href="<?php echo str_replace('&', '&', $logout); ?>" id="tab_logout"><?php echo $text_logout; ?></a></li><li><?php } ?><a href="<?php echo str_replace('&', '&', $account); ?>" id="tab_account"><?php echo $text_account; ?></a></li><li><a href="<?php echo str_replace('&', '&', $cart); ?>" id="tab_cart"><?php echo $text_cart; ?></a></li><li><a href="<?php echo str_replace('&', '&', $checkout); ?>" id="tab_checkout"><?php echo $text_checkout; ?></a></li>
</ul>
$text_special выводит у меня кнопку АКЦИИ и это всё, что я пока понял...
Надіслати
Поділитися на інших сайтах


  • 2 weeks later...

А у меня такая проблемка. Внизу страницы появляется надпись - "Показано с {start} по {end} из {total} (всего страниц - {pages})". Что надо исправить, чтобы вместо переменных появлялись числовые значения страниц?

Надіслати
Поділитися на інших сайтах


версия

ссылка на сайт

ссылка на страницу с проблемой

у вас что-то с функцией создания постраничной навигации.

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.