0 Пользователей и 1 Гость просматривают эту тему.
  • 23 Ответов
  • 16254 Просмотров
*

Chebyrek

  • Захожу иногда
  • 162
  • 1 / 0
Народ всем драсте   ^-^
Установлена Joomla 1.5.24 + VirtueMart 1.1.9
Подскажите пожалуйста как мне отредактировать количество отображаемых товаров на странице.
В стандартном VirtueMart есть возможность выбрать 5,10,15,20,25,30,50 товаров на странице.
Я бы хотел поправить количество отображаемых товаров на странице, допустим: 10, 30, 50, ВСЕ (в общем, мне необходимо чтоб была возможность показать все товары на одной странице).
*

fsv

  • Moderator
  • 2670
  • 384 / 2
Подскажите пожалуйста как мне отредактировать количество отображаемых товаров на странице.
В стандартном VirtueMart есть возможность выбрать 5,10,15,20,25,30,50 товаров на странице.

\administrator\components\com_config\controllers\application.php
стр.90
Код
$listLimit = array (JHTML::_('select.option', 5, 5), JHTML::_('select.option', 10, 10), JHTML::_('select.option', 15, 15), JHTML::_('select.option', 20, 20), JHTML::_('select.option', 25, 25), JHTML::_('select.option', 30, 30), JHTML::_('select.option', 50, 50), JHTML::_('select.option', 100, 100),);

Я бы хотел поправить количество отображаемых товаров на странице, допустим: 10, 30, 50, ВСЕ (в общем, мне необходимо чтоб была возможность показать все товары на одной странице).

замените на:
Код
$listLimit = array (JHTML::_('select.option', 10, 10), JHTML::_('select.option', 30, 30), JHTML::_('select.option', 50, 50), JHTML::_('select.option', 10000000, 10000000),);

и в админке выберите 10000000. >>> надеюсь, у вас меньше товаров  ;)


Веб-разработка: заказ. Только сложная и объемная разработка. Дорого.
*

Chebyrek

  • Захожу иногда
  • 162
  • 1 / 0
Интересно почему в строке 90 ещё указано JHTML::_('select.option', 100, 100),); то-есть я так понимаю 100 наименований! а при выборе количества 100 НЕТ !
*

Chebyrek

  • Захожу иногда
  • 162
  • 1 / 0
замените на:
Код
$listLimit = array (JHTML::_('select.option', 10, 10), JHTML::_('select.option', 30, 30), JHTML::_('select.option', 50, 50), JHTML::_('select.option', 10000000, 10000000),);
и в админке выберите 10000000. >>> надеюсь, у вас меньше товаров  ;)
[/quote]

Странно, чё-то не получается! Меняю строку, сохраняю! И не каких результатов!! Уже и кеш браузера почистил!
*

fsv

  • Moderator
  • 2670
  • 384 / 2
Да, не туда меня занесло.
Попробуйте:
\administrator\components\com_virtuemart\classes\pageNavigation.class.php
стр.59-70
Код
for ($i=5; $i <= 30; $i+=5) {
      if (empty( $link)) {
        $limits[$i] = $i;
      } else {
        $limits[vmRoute($link.'&limit='.$i)] = $i;
      }
    }
    if (empty( $link)) {
      $limits[50] = 50;
    } else {
      $limits[vmRoute($link.'&limit=50')] = 50;
    }

замените на:
Код
for ($i=10; $i <= 50; $i+=20) {
      if (empty( $link)) {
        $limits[$i] = $i;
      } else {
        $limits[vmRoute($link.'&limit='.$i)] = $i;
      }
    }
    if (empty( $link)) {
      $limits[5000000] = 'все';
    } else {
      $limits[vmRoute($link.'&limit=5000000')] = 'все';
    }

где 5000000 - лимит кол-ва товаров, меняете сами, исходя из своей специфики



Веб-разработка: заказ. Только сложная и объемная разработка. Дорого.
*

Chebyrek

  • Захожу иногда
  • 162
  • 1 / 0
Да, не туда меня занесло.

Все окей ! У меня получилось! Спасибо большое!
*

Chebyrek

  • Захожу иногда
  • 162
  • 1 / 0
Только при показе всех товаров почему-то получается вот такой косяк!

Это может быть связанно с этим редактированием?

Спасибо!! ^-^
*

kry

  • Захожу иногда
  • 124
  • 3 / 0
Цитировать
Да, не туда меня занесло.
Попробуйте:
\administrator\components\com_virtuemart\classes\pageNavigation.class.php
стр.59-70
Интересно у меня ли одного при выборе Показать все товары исчезает постраничная навигация сверху? То же самое происходит, если я выбираю Показать такое количество товара, при котором все товары отображаются на одной странице - навигация сверху исчезает. У всех ли так, как закрепить навигацию наверху страницы?
*

kry

  • Захожу иногда
  • 124
  • 3 / 0
Цитировать
Интересно у меня ли одного при выборе Показать все товары исчезает постраничная навигация сверху?
Проверьте, пожалуйста у себя на сайте? У меня в VM 1.1.9 такая ерунда
*

fsv

  • Moderator
  • 2670
  • 384 / 2
Интересно у меня ли одного при выборе Показать все товары исчезает постраничная навигация сверху? То же самое происходит, если я выбираю Показать такое количество товара, при котором все товары отображаются на одной странице - навигация сверху исчезает.

Не у вас одного. И без всяких хаков.
Это условие прописано в shop.browse.php  стр.190-192
Код
	// Decide whether to show the top navigation
$show_top_navigation = ( PSHOP_SHOW_TOP_PAGENAV =='1' && $num_rows > $limit );
$tpl->set( 'show_top_navigation', $show_top_navigation );

как закрепить навигацию наверху страницы?

Попробуйте изменить это условие. Уберите && $num_rows > $limit  Не проверял.

Хотя, конечно, не понятно, зачем вам вверху "мертвая" навигация. Вы ведь все вывели на 1 страницу. Куда переходить собрались?

Веб-разработка: заказ. Только сложная и объемная разработка. Дорого.
*

kry

  • Захожу иногда
  • 124
  • 3 / 0
Спасибо за подсказку, fsv!
Но && $num_rows > $limit не пропадает Пагинация при малом количестве товаров на странице. Чтобы Пагинация не отображалась при малом количестве товаров делал следующим образом:
- менял код в файле browse_pagenav.tpl.php адрес \components\com_virtuemart\themes\default\templates\browse\includes на:
Спойлер
[свернуть]
т.е. получается, что если товаров больше 12 ($pagenav->total > 12) и все на одну страницу не помещаются - выводим строку навигации.
total - это общее количество товаров в категории (класс vmPageNav в файле administrator\components\com_virtuemart\classes\pageNavigation.class.php)
12 - это количество выводимых товаров на страницу, устанавливается в настройках Joomla (Сайт -> Общие настройки ->  "Установки сайта" -> пункт "Длина списка").

Теперь, если я удаляю && $num_rows > $limit, то верхняя Пагинация действительно становится "мертвой" и отображается на страницах, где товаров менее 12.
Как решить пока не знаю....

Цитировать
Хотя, конечно, не понятно, зачем вам вверху "мертвая" навигация. Вы ведь все вывели на 1 страницу. Куда переходить собрались?
Наверное, чтобы посетитель сам смог выбрать наиболее удобный для него вариант отображения товаров. Вдруг у меня в категории 500 товаров - у кого-то загрузка долго пойдет, да и глаза разбегутся
« Последнее редактирование: 05.02.2012, 14:57:53 от kry »
*

kry

  • Захожу иногда
  • 124
  • 3 / 0
Народ, добавлю к всему выше сказанному и выше спрошенному:
Цитировать
В стандартном VirtueMart есть возможность выбрать 5,10,15,20,25,30,50 товаров на странице.
Я бы хотел поправить количество отображаемых товаров на странице, допустим: 10, 30, 50, ВСЕ (в общем, мне необходимо чтоб была возможность показать все товары на одной странице).
Как в выпадающем списке добавить ВСЕ товары:
В файле administrator\components\com_virtuemart\classes\pageNavigation.class.php после строки:
Код
    if (empty( $link)) {
      $limits[50] = 50;
    } else {
      $limits[vmRoute($link.'&limit=50')] = 50;
    }

добавим

Цитировать
   /* --------- Aglobal web, Start patch ----------------*/
   $additional_limits=array();
   $additional_limits[100]=100;
   $additional_limits[100000]=JText::_('Все');
   foreach($additional_limits as $key=>$value)
   {
      if (empty( $link))
         $limits[$key] = $value;
      else
         $limits[vmRoute($link.'&limit=' . $key)] = $value;
   }
   /* --------- Aglobal web, End patch ----------------*/

взято из компонента VirtueMart Page Navigator Limit Box (http://www.aglobalweb.com/aglobalweb/download/1-virtuemart/13-virtuemart-page-navigator-limit-box.html). В VM 1.1.9 отлично работает.
Прошу помощи в моем предыдущем вопросе #11
*

sanekk

  • Захожу иногда
  • 66
  • 0 / 0
подскажите пож. какой файл отвечает за вывод в категории товаров

Сортировать по:         Показать #   

где-то убрал слова выбрать из вы подающего списка, по умолчанию теперь стоит цена и количество. только вот сортировка по количеству не происходит.
*

dimonyara

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Помогите решить следующую проблемку

По умолчанию в магазине стоит 5 строк по 1 товару

Добавил новую категорию. А в ней (только в ней) необходимо показывать 3 товара в строке

подскажите, как указать количество товаров для конкретной категории?
*

fiction13

  • Осваиваюсь на форуме
  • 25
  • 0 / 0
  • Дмитрий
Здравствуйте!
Тоже задался этим вопросом.

Сделал как посоветовал kry,
затем код в файле shop.browse.php
Код
// Decide whether to show the top navigation
$show_top_navigation = ( PSHOP_SHOW_TOP_PAGENAV =='1' && $num_rows > $limit );
$tpl->set( 'show_top_navigation', $show_top_navigation );

изменил на
Код
// Decide whether to show the top navigation
$show_top_navigation = ( PSHOP_SHOW_TOP_PAGENAV =='1' && $num_rows > $limit | $num_rows < $limit);
$tpl->set( 'show_top_navigation', $show_top_navigation );

В итоге теперь навигация по странице отображается, когда показаны все товары на странице.

Спасибо всем за помощь, рад, если помог сам.
*

fiction13

  • Осваиваюсь на форуме
  • 25
  • 0 / 0
  • Дмитрий
Единственное, еще можно добавить условие $num_rows == $limit, чтобы навигация отображалась, когда количество отображаемых товаров равно количеству самих товаров.
*

fiction13

  • Осваиваюсь на форуме
  • 25
  • 0 / 0
  • Дмитрий
Теперь осталась проблема, что после очистки кэша количество отображаемых товаров по дефолту опять отображается 20.
Как исправить?
*

fiction13

  • Осваиваюсь на форуме
  • 25
  • 0 / 0
  • Дмитрий
Все, разобрался.
Как правильно сказал kry
Цитировать
...количество выводимых товаров на страницу, устанавливается в настройках Joomla (Сайт -> Общие настройки ->  "Установки сайта" -> пункт "Длина списка").
Приятно было пообщаться =)))
*

ottofonbismark

  • Осваиваюсь на форуме
  • 25
  • 1 / 0
  • Делаем сайты и прочие мелочи
Спасибо за подсказку, fsv!
Но && $num_rows > $limit не пропадает Пагинация при малом количестве товаров на странице. Чтобы Пагинация не отображалась при малом количестве товаров делал следующим образом:
- менял код в файле browse_pagenav.tpl.php адрес \components\com_virtuemart\themes\default\templates\browse\includes на:
Спойлер
[свернуть]
т.е. получается, что если товаров больше 12 ($pagenav->total > 12) и все на одну страницу не помещаются - выводим строку навигации.
total - это общее количество товаров в категории (класс vmPageNav в файле administrator\components\com_virtuemart\classes\pageNavigation.class.php)
12 - это количество выводимых товаров на страницу, устанавливается в настройках Joomla (Сайт -> Общие настройки ->  "Установки сайта" -> пункт "Длина списка").

Теперь, если я удаляю && $num_rows > $limit, то верхняя Пагинация действительно становится "мертвой" и отображается на страницах, где товаров менее 12.
Как решить пока не знаю....
Наверное, чтобы посетитель сам смог выбрать наиболее удобный для него вариант отображения товаров. Вдруг у меня в категории 500 товаров - у кого-то загрузка долго пойдет, да и глаза разбегутся
Спасибі за це))))) Сидів пів дня, розбирався з лімітом, ліз в код. А все таки і справді виявилось банальним.
*

kry

  • Захожу иногда
  • 124
  • 3 / 0
Единственное, еще можно добавить условие $num_rows == $limit, чтобы навигация отображалась, когда количество отображаемых товаров равно количеству самих товаров.
Да, fiction13, это тоже нужно. В файле shop.browse.php сделать корректировку:

Код: php
	// Decide whether to show the top navigation
$show_top_navigation = ( PSHOP_SHOW_TOP_PAGENAV =='1' && $num_rows > $limit | $num_rows < $limit | $num_rows == $limit);
$tpl->set( 'show_top_navigation', $show_top_navigation );

Считаю, тему можно пометить как "РЕШЕНО"
*

yarikation

  • Новичок
  • 8
  • 0 / 0
Да, не туда меня занесло.
Попробуйте:
\administrator\components\com_virtuemart\classes\pageNavigation.class.php
стр.59-70

а если у меня нету папки "classes". у меня VirtueMart 2.0.8.
у меня можно выбрать чтобы отбражалось 4,8,16,40,80 товаров. а как мне сделать чтобы было 40,80,120,160,200  ?
вот ссылка на мой каталог товаров http://vsesebe.com.ua/index.php/component/virtuemart/view/category/virtuemart_category_id/2.html
*

Sonio

  • Захожу иногда
  • 52
  • 0 / 0
подскажите пож. какой файл отвечает за вывод в категории товаров

Сортировать по:         Показать #   

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


browse_orderbyform.tpl.php
*

xilgiz

  • Захожу иногда
  • 129
  • 1 / 0
Доброго времени.

Что то не получается...
мне надо, что бы выводились все товары...
Пробовал, как тут написано http://slaffko.name/blog/item/ustanovka-kolichestva-tovarov-na-stranicze-v-virtuemart.html
И как выше, но не катит..

Что делать?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[download] Модуль вывода товаров для VirtueMart (1.2.3 и 2.1)

Автор beliyadm

Ответов: 1448
Просмотров: 346303
Последний ответ 21.07.2015, 06:21:55
от Серегин
Альтернативный модуль вывода категорий товаров (mod_kdz_vm_categories)

Автор kordima

Ответов: 89
Просмотров: 24213
Последний ответ 19.02.2015, 22:02:14
от kordima
VirtueMart -как убрать слово "КАТЕГОРИИ" на первой странице магазина

Автор stalker828

Ответов: 12
Просмотров: 8501
Последний ответ 30.07.2014, 11:51:16
от ZAIRA
Показ модуля на странице товара только

Автор EmAl

Ответов: 24
Просмотров: 3322
Последний ответ 27.05.2014, 08:15:01
от Mitriy-Bug
Отображение товаров в виде таблицы

Автор Doppelganger

Ответов: 183
Просмотров: 53806
Последний ответ 15.04.2014, 23:27:29
от 4ifir