Перейти к содержанию
Unikal

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

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

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

Поделиться сообщением


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

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

Поделиться сообщением


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

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

Любое количество не помещающееся на 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

Поделиться сообщением


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

Проблема аналогична (последняя версия 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 выводит у меня кнопку АКЦИИ и это всё, что я пока понял...

Поделиться сообщением


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

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

Поделиться сообщением


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

версия

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

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

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

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

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

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