*

andre

  • *
  • 35

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

Подскажите, если кто знает, как сделать, что бы при выборе последней страницы, пейджер не пропадал, а показывал "Станица 5 из 5".

Спасибо.

*

Love

Вообще то это в другую ветку пишут.
А так вот мной исправлено было.
https://forum.oscommerce.ru/index.php?topic=508.msg2373#msg2373

*

andre

  • *
  • 35

Вообще то это в другую ветку пишут.
А так вот мной исправлено было.
https://forum.oscommerce.ru/index.php?topic=508.msg2373#msg2373

А как исправлено было? Что значит "проблемный товар"? А если нет проблемных товаров?

*

Love

Вообще то это в другую ветку пишут.
А так вот мной исправлено было.
https://forum.oscommerce.ru/index.php?topic=508.msg2373#msg2373

А как исправлено было? Что значит "проблемный товар"? А если нет проблемных товаров?
Почитайте повнимательнее там. Это товар скорее при установке который как демо влетел и наверное криво в базу прописался. Сам не знаю как он там был прописан. Если таких товаров нету то все ок. работает.

*

Love

Там все просто, если порытся то MAX_DISPLAY_PRODUCTS_NEW это опция выставляемая сколько показывать товаров новых в листинге новых товаров.
А опция кол-ва товаров в листинге это вот что
MAX_DISPLAY_SEARCH_RESULTS

Походу при написании перепутали все.

*

andre

  • *
  • 35

Там все просто, если порытся то MAX_DISPLAY_PRODUCTS_NEW это опция выставляемая сколько показывать товаров новых в листинге новых товаров.
А опция кол-ва товаров в листинге это вот что
MAX_DISPLAY_SEARCH_RESULTS

Походу при написании перепутали все.

Согласен, написан бред полнейший. И странно, что это еще как-то работает. Если кому интересно, то я переделал пейджер.

Но пришлось исправить шаблон product_listing.php и базовый класс database.php. В последнем также добавил два ключа в локализацию: result_set_next_page_grey и result_set_previous_page_grey для отрисовки элемента, когда на него нельзя кликнуть.

в includes\modules\product_listing.php

if ( ($Qlisting->numberOfRows() > MAX_DISPLAY_PRODUCTS_NEW) ||
       ( (PREV_NEXT_BAR_LOCATION == '1') || (PREV_NEXT_BAR_LOCATION == '3') ) ) {

Заменить на (в верхней части и по аналогии - в нижней части)

  if ($Qlisting->enabledBatchPage() &&
      ((PREV_NEXT_BAR_LOCATION == '1') || (PREV_NEXT_BAR_LOCATION == '3'))) {

в архиве класс из includes\classes\database.php.

« Последнее редактирование: 11 Мар 2018 23:59:40 pm от Spido »
*

Love

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

*

andre

  • *
  • 35

Это же опять отклонение от общественности.
Для себя я вообще половину кодов перелопатил под свои нужды и свой дизайн, что у других на стандартном двигле и не пошло бы. Поэтому не публикую.
А как тогда развитие будет проистекать? Да и переход на новые версии становится не тривиальным делом.

И проблема эта, как я вижу, общая. Я смотрел на

http://liraonline.by/index.php/cPath,30_31/page,3

На последней странице пейджер не отображается.

*

Love

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

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

Я умываю руки.

И еще, в вашем случае можно было обойтись и малой кровью.
Вот это

$forward_grey_string = $osC_Language->get('result_set_next_page');Заменить на это
$forward_grey_string = $osC_Language->get('');и получилось бы тоже самое не внося в языковые дополнительно.
И я не совсем понял, теперь в админке нельзя задать сколько товаров выводить на одной странице?

На вкус и цвет как говорится.

« Последнее редактирование: 26 Окт 2010 16:13:48 pm от Love »
*

andre

  • *
  • 35

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

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

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

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

> И еще, в вашем случае можно было обойтись и малой кровью.

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

> И я не совсем понял, теперь в админке нельзя задать сколько товаров выводить на одной странице?

Как раз стал один параметр для управления кол-вом товаров на страницу: MAX_DISPLAY_SEARCH_RESULTS. А то получалось, что выставляется один параметр, а сравнивается с другим (MAX_DISPLAY_PRODUCTS_NEW).

С уважением ...

*

Love

Цитировать
Так может и полетело потому, что поменяно только у Вас, а больше ни у кого нет этого. Потому, что элементарный анализ показывает, что будет работать в "старом" варианте.
Это у меня полетело на стандартном магазине установленном как говорится из коробки, с нуля.

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

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

Цитировать
Как раз стал один параметр для управления кол-вом товаров на страницу: MAX_DISPLAY_SEARCH_RESULTS. А то получалось, что выставляется один параметр, а сравнивается с другим (MAX_DISPLAY_PRODUCTS_NEW).
Про это я с самого начала топика вам сам объяснял. Только я не нашел где у вас идет сравнение теперь с MAX_DISPLAY_SEARCH_RESULTS, в каком месте?

*

Love

Протестировал этот пейджер от и до.
Работает. Все переключается. И если переключать не надо то пейджер совсем пропадает.

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

Какой вариант в SP будете добавлять решайте сами.

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

*

Love

Еще один вариант.
в includes\modules\product_listing.php

if ( ($Qlisting->numberOfRows() > MAX_DISPLAY_PRODUCTS_NEW) ||
       ( (PREV_NEXT_BAR_LOCATION == '1') || (PREV_NEXT_BAR_LOCATION == '3') ) ) {

Заменить на (в верхней части и по аналогии - в нижней части)
  if ( ($Qlisting->numberOfRows() > 0) && ( (PREV_NEXT_BAR_LOCATION == '1') || (PREV_NEXT_BAR_LOCATION == '3') ) ) {
osc_get_all_get_params(array('page', 'info', 'x', 'y')));
Заменить на (в верхней части и по аналогии - в нижней части)
osc_get_all_get_params(array('page', 'info', 'x', 'y')), false);
Других файлов менять не надо. В этом варианте у вас будут только кнопки вперед-назад без вывода списка страниц.
Если товаров меньше и переключать на страницы не надо, то показывает пейждер только кол-во товаров на странице.