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

bazic

  • Осваиваюсь на форуме
  • 43
  • 7 / 14
  • курить бросаю
Не отображает кол-во товаров в категории , если товар находится  так
 |Периферия (0)
 |___
 |     |Принтеры (26)
 |     |___
 |           |Лазерные принтеры (26)
 |           |
    

пример
http://startcopy.info/component/option,com_virtuemart/Itemid,75/      
« Последнее редактирование: 16.07.2009, 12:50:15 от beagler »
*

tug

  • Захожу иногда
  • 333
  • 40 / 4
Re: Не отображает кол-во товаров
« Ответ #1 : 26.05.2006, 08:05:12 »
И что?
*

bazic

  • Осваиваюсь на форуме
  • 43
  • 7 / 14
  • курить бросаю
Re: Не отображает кол-во товаров
« Ответ #2 : 26.05.2006, 10:01:55 »
И что ????? Да ручку в глаз !!!!
Тупо создается впечатление, что товара в папке НЕТ !!!!
*

tug

  • Захожу иногда
  • 333
  • 40 / 4
Re: Не отображает кол-во товаров
« Ответ #4 : 26.05.2006, 17:32:13 »
Вопрос-то Вы не задали =)

Есть три варианта решения проблемы в порядке усложнения, но увеличения эффекта:
1. Убрать нафик все "количества товаров" - параметр в админке
2. Хакнуть, чтобы нолик не выводился вообще
3. Хакнуть, чтобы категория проверялась на дочерние. Т.е. если у категории есть дочерние товары, то нолик у неё не выводится.

я даже делал что-то на эту тему... поищу сегодня.
*

bazic

  • Осваиваюсь на форуме
  • 43
  • 7 / 14
  • курить бросаю
Re: Не отображает кол-во товаров
« Ответ #5 : 26.05.2006, 17:44:08 »
Вопрос-то Вы не задали =)

Есть три варианта решения проблемы в порядке усложнения, но увеличения эффекта:
1. Убрать нафик все "количества товаров" - параметр в админке
2. Хакнуть, чтобы нолик не выводился вообще
3. Хакнуть, чтобы категория проверялась на дочерние. Т.е. если у категории есть дочерние товары, то нолик у неё не выводится.

я даже делал что-то на эту тему... поищу сегодня.
третий вариант наиболее приемлим, только макуха дерева категории должна выводить суммарное кол-во товаров во всех дочерних категориях и подкатегориях и подподкатегориях и т.д.
*

tug

  • Захожу иногда
  • 333
  • 40 / 4
Re: Не отображает кол-во товаров
« Ответ #6 : 26.05.2006, 21:31:12 »
Цитировать
только макуха дерева категории должна выводить суммарное кол-во товаров во всех дочерних категориях и подкатегориях и подподкатегориях и т.д.
А Вы хотя бы примерно представляете сколько времени займёт такой запрос?
Если нет, то я Вам советую посмотреть на структуру таблиц virtuemart и подумать об этом.

Возможно Вы имели ввиду просто общее количество товаров во всех категориях.
« Последнее редактирование: 26.05.2006, 22:07:25 от userxp »
*

bazic

  • Осваиваюсь на форуме
  • 43
  • 7 / 14
  • курить бросаю
Re: Не отображает кол-во товаров
« Ответ #7 : 27.05.2006, 00:45:33 »
 |Периферия (0) <----- здесь должно быть 26 (если нет других категорий)
 |___
 |     |Принтеры (26)
 |     |___
 |           |Лазерные принтеры (26)
 |           |
        
 |Периферия (0) <----- здесь должно быть 36
 |_________________________________
 |     |Принтеры (26)                          |Многофункциональные устройства (10)
 |     |___                                         |___
 |           |Лазерные принтеры (26)            |Лазерные многофункциональные устройства (5)
 |           |                                              |Струйные многофункциональные устройства (5)
         
тыперь мы поймем друг друга ^-^
« Последнее редактирование: 27.05.2006, 00:50:56 от bazic »
*

marti88

  • Осваиваюсь на форуме
  • 11
  • 4 / 0
  • marti.org.ua
Re: Не отображает кол-во товаров
« Ответ #8 : 13.05.2007, 01:27:11 »
Сделать правку файла ps_product_category.php из administrator\components\com_virtuemart\classes

Найти: function products_in_category

заменить:
Код
	function products_in_category( $category_id ) {
if( PSHOP_SHOW_PRODUCTS_IN_CATEGORY == '1' ) {
$num = ps_product_category::product_count($category_id);
if( empty($num) && ps_product_category::has_childs( $category_id )) {
$db = new ps_DB;
$q = "SELECT category_child_id FROM #__{vm}_category_xref ";
$q .= "WHERE category_parent_id='$category_id' ";
$db->query($q);
while( $db->next_record() ) {
$num += ps_product_category::product_count($db->f("category_child_id"));
}
}

return " ($num) ";
}
else
return ( "" );

}

следующим:
Код
	function prod_in_cat_recursive( $category_id ) {
$num=0;
if (ps_product_category::has_childs( $category_id )) {
$db = new ps_DB;
$q = "SELECT category_child_id FROM #__{vm}_category_xref ";
$q .= "WHERE category_parent_id='$category_id' ";
$db->query($q);
while( $db->next_record() ) {
$num += ps_product_category::prod_in_cat_recursive($db->f("category_child_id"));
}
}
$num += ps_product_category::product_count($category_id);
return $num;
}

function products_in_category( $category_id ) {
if( PSHOP_SHOW_PRODUCTS_IN_CATEGORY == '1' ) {
$num = ps_product_category::prod_in_cat_recursive( $category_id );
return " ($num) ";
}
else
return "";
}

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

Re: Не отображает кол-во товаров
« Ответ #9 : 02.03.2009, 14:53:41 »

1. Убрать нафик все "количества товаров" - параметр в админке

Подскажите плиз, где искать? Мне нужно отключить вообще эти цифры.
*

mixsture

  • Осваиваюсь на форуме
  • 16
  • 3 / 0
Для production сайта, я бы подумал над более производительным подходом:
1) Выдергиваем иерархию категорий от данной.
2) Считаем товары с where category_id in (1,2,3,4). 1,2,3,4 - это идентификаторы категорий.

Рекурсия же, в отличие от этого подхода делает очень много запросов.
*

Олир

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Изменил как было сказано - полетел не только VirtueMart, но и весь сайт (((
Видимо версии магазина не совпадают...
*

varakuta

  • Осваиваюсь на форуме
  • 14
  • 0 / 1
Народ

а для последнего виртмарта есть исправление отображения правильного количества товаров ?



Заранее благодарю )
*

mmontana

  • Осваиваюсь на форуме
  • 36
  • 0 / 0
Спасибо! Очень помогло!..)
*

Maxd

  • Новичок
  • 7
  • 1 / 0
Народ

а для последнего виртмарта есть исправление отображения правильного количества товаров ?



Заранее благодарю )
Поддерживаю просьбу. метод указанный выше, ложит VM (сайт).
*

fprefix

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Поддерживаю просьбу. метод указанный выше, ложит VM (сайт).

Что-то ложит? Работает всё, внимательней делайте. Проверено на 1.1.4
*

ivanesx2008

  • Захожу иногда
  • 66
  • 0 / 0
Помогите с подобной проблемой но в стороннем модуле... Количество товаров суммируется только в первой подкатегории. Если подкатегорий больше чем одна, то количество товаров в них не учитывается. Вот код
Код
<?php
defined('_JEXEC') or die('Restricted access');

$menu = &JSite::getMenu();
$items = $menu->getItems('link', 'index.php?option=com_virtuemart');
$itemid = isset($items[0])? '&Itemid='.$items[0]->id : '';

$modtype = $params->get('modtype');
$showtitle = $params->get('showtitle');
$showdesc = $params->get('showdesc');
$showsubcat = $params->get('showsubcat');
$showthumb = $params->get('showthumb');
$col = $params->get ('num_cols', 2);
$colwidth = floor(100/$col);
$x = 0;
$y = 1;
$row = ceil(count($list)/$col);
$total = $col*$row;
$rest = ($total-count($list))+1;

if($modtype == 0){
$headtag = "<link rel=\"stylesheet\" href=\"" . JURI::root(). "/modules/mod_tpindexvm/tmpl/tpindexvm.css\" type=\"text/css\" />";
}else{
$headtag = "<link rel=\"stylesheet\" href=\"" . JURI::root(). "/modules/mod_tpindexvm/tmpl/tpindexvm_menu.css\" type=\"text/css\" />";
}
$mainframe->addCustomHeadTag($headtag);

if($list){
if($modtype == 0){
$data  = "<div class=\"productthumb\">";
$data .= '<table width="100%" border="0" cellspacing="0" cellpadding="0">';
for($a=0; $a<$total; $a++){
if($y == 1){
$data .= '<tr valign="top"><td width="' . $colwidth . '%">';
}else{
$data .= '<td width="' . $colwidth . '%">';
}


if(isset($list[$a]->id)){
$linkp = JRoute::_('index.php?option=com_virtuemart&page=shop.browse&category_id='.$list[$a]->id.$itemid, false);
$data .= "<div class=\"pthumb\">";

if($showthumb == 1){
$class = " bbb";
}else{
$class = "";
}

if($showtitle == 1){
$data .= "<a href=\"$linkp\" title=\"" . $list[$a]->name . "\" id=\"productthumbbig$x\" class=\"productthumbbigtitle\">";
$data .= "<span>" . $list[$a]->name . "</span>";
$data .= "</a>";
}

if($showthumb == 1){
$data .= "<a href=\"$linkp\" title=\"" . $list[$a]->name . "\" id=\"productthumbbig$x\" class=\"productthumbbig\">";
$data .= "<div class=\"pthumbimg\"><img src='" . JURI::base(true). "/components/com_virtuemart/shop_image/category/" . $list[$a]->filename . "' /></div>";
$data .= "</a>";
}

if($showdesc == 1 || $showsubcat == 1){
$data .= "<div class='detail" . $class . "'>";

if($showdesc == 1){ $data .= "<div class='desc'>" . $list[$a]->desc . "</div>";}

if($showsubcat == 1){
$child = modTPIndexHelper::getListChild($params, $list[$a]->id);
if(count($child) > 0){
$data .= "<ul>";
for($i=0; $i<count($child); $i++){
$linkc = JRoute::_('index.php?option=com_virtuemart&page=shop.browse&category_id='.$child[$i]->id.$itemid, false);
$data .= "<li><a href=\"$linkc\" title=\"" . $child[$i]->name . "\">" . $child[$i]->name . " (" . number_format($child[$i]->total, 0, "", "."). ")</a></li>";
}
$data .= "</ul>";
}
}
$data .= "</div>";
$data .= "<div class='clear'></div>";
}
$data .= "</div>";
}else{
$data .= "&nbsp;";
}

$x++;
if($y == $col){
$data .= '</td></tr>';
$y = 1;
}else{
$data .= '</td>';
$y++;
}
}
$data .= "</table>";
}else{
$data  = "<div class=\"productthumb_menu\">";
$data .= '<ul class="parent">';
for($a=0; $a<$total; $a++){
if(isset($list[$a]->id)){
$data .= '<li>';
$linkp = JRoute::_('index.php?option=com_virtuemart&page=shop.browse&category_id='.$list[$a]->id.$itemid, false);
$data .= "<div class=\"pthumb\">";

if($showthumb == 1){
$class = " bbb";
}else{
$class = "";
}

$data .= "<a href=\"$linkp\" title=\"" . $list[$a]->name . "\" id=\"productthumbbig$x\" class=\"productthumbbigtitle\">";
$data .= "<span>" . $list[$a]->name . "</span>";
$data .= "</a>";

if($showthumb == 1){
$data .= "<a href=\"$linkp\" title=\"" . $list[$a]->name . "\" id=\"productthumbbig$x\" class=\"productthumbbig\">";
$data .= "<img src='" . JURI::base(true). "/components/com_virtuemart/shop_image/category/" . $list[$a]->filename . "' />";
$data .= "</a>";
}

if($showdesc == 1 || $showsubcat == 1){
$data .= "<div class='detail" . $class . "'>";

if($showdesc == 1){ $data .= "<div class='desc'>" . $list[$a]->desc . "</div>";}

if($showsubcat == 1){
$child = modTPIndexHelper::getListChild($params, $list[$a]->id);
if(count($child) > 0){
$data .= "<ul>";
for($i=0; $i<count($child); $i++){
$linkc = JRoute::_('index.php?option=com_virtuemart&page=shop.browse&category_id='.$child[$i]->id.$itemid, false);
$data .= "<li><a href=\"$linkc\" title=\"" . $child[$i]->name . "\">" . $child[$i]->name . " (" . number_format($child[$i]->total, 0, "", "."). ")</a></li>";
}
$data .= "</ul>";
}
}
$data .= "</div>";
$data .= "<div class='clear'></div>";
}
$data .= "</div>";
$data .= '</li>';
}

$x++;
}
$data .= "</ul>";
}
$data .= "</div>";
}else{
$data = "";
}
echo $data;
?>
*

vitaliy.balatskiy

  • Захожу иногда
  • 92
  • 5 / 0
Помогите с подобной проблемой но в стороннем модуле... Количество товаров суммируется только в первой подкатегории. Если подкатегорий больше чем одна, то количество товаров в них не учитывается. Вот код
Код
<?php
defined('_JEXEC') or die('Restricted access');

$menu = &JSite::getMenu();
$items = $menu->getItems('link', 'index.php?option=com_virtuemart');
$itemid = isset($items[0])? '&Itemid='.$items[0]->id : '';

$modtype = $params->get('modtype');
$showtitle = $params->get('showtitle');
$showdesc = $params->get('showdesc');
$showsubcat = $params->get('showsubcat');
$showthumb = $params->get('showthumb');
$col = $params->get ('num_cols', 2);
$colwidth = floor(100/$col);
$x = 0;
$y = 1;
$row = ceil(count($list)/$col);
$total = $col*$row;
$rest = ($total-count($list))+1;

if($modtype == 0){
$headtag = "<link rel=\"stylesheet\" href=\"" . JURI::root(). "/modules/mod_tpindexvm/tmpl/tpindexvm.css\" type=\"text/css\" />";
}else{
$headtag = "<link rel=\"stylesheet\" href=\"" . JURI::root(). "/modules/mod_tpindexvm/tmpl/tpindexvm_menu.css\" type=\"text/css\" />";
}
$mainframe->addCustomHeadTag($headtag);

if($list){
if($modtype == 0){
$data  = "<div class=\"productthumb\">";
$data .= '<table width="100%" border="0" cellspacing="0" cellpadding="0">';
for($a=0; $a<$total; $a++){
if($y == 1){
$data .= '<tr valign="top"><td width="' . $colwidth . '%">';
}else{
$data .= '<td width="' . $colwidth . '%">';
}


if(isset($list[$a]->id)){
$linkp = JRoute::_('index.php?option=com_virtuemart&page=shop.browse&category_id='.$list[$a]->id.$itemid, false);
$data .= "<div class=\"pthumb\">";

if($showthumb == 1){
$class = " bbb";
}else{
$class = "";
}

if($showtitle == 1){
$data .= "<a href=\"$linkp\" title=\"" . $list[$a]->name . "\" id=\"productthumbbig$x\" class=\"productthumbbigtitle\">";
$data .= "<span>" . $list[$a]->name . "</span>";
$data .= "</a>";
}

if($showthumb == 1){
$data .= "<a href=\"$linkp\" title=\"" . $list[$a]->name . "\" id=\"productthumbbig$x\" class=\"productthumbbig\">";
$data .= "<div class=\"pthumbimg\"><img src='" . JURI::base(true). "/components/com_virtuemart/shop_image/category/" . $list[$a]->filename . "' /></div>";
$data .= "</a>";
}

if($showdesc == 1 || $showsubcat == 1){
$data .= "<div class='detail" . $class . "'>";

if($showdesc == 1){ $data .= "<div class='desc'>" . $list[$a]->desc . "</div>";}

if($showsubcat == 1){
$child = modTPIndexHelper::getListChild($params, $list[$a]->id);
if(count($child) > 0){
$data .= "<ul>";
for($i=0; $i<count($child); $i++){
$linkc = JRoute::_('index.php?option=com_virtuemart&page=shop.browse&category_id='.$child[$i]->id.$itemid, false);
$data .= "<li><a href=\"$linkc\" title=\"" . $child[$i]->name . "\">" . $child[$i]->name . " (" . number_format($child[$i]->total, 0, "", "."). ")</a></li>";
}
$data .= "</ul>";
}
}
$data .= "</div>";
$data .= "<div class='clear'></div>";
}
$data .= "</div>";
}else{
$data .= "&nbsp;";
}

$x++;
if($y == $col){
$data .= '</td></tr>';
$y = 1;
}else{
$data .= '</td>';
$y++;
}
}
$data .= "</table>";
}else{
$data  = "<div class=\"productthumb_menu\">";
$data .= '<ul class="parent">';
for($a=0; $a<$total; $a++){
if(isset($list[$a]->id)){
$data .= '<li>';
$linkp = JRoute::_('index.php?option=com_virtuemart&page=shop.browse&category_id='.$list[$a]->id.$itemid, false);
$data .= "<div class=\"pthumb\">";

if($showthumb == 1){
$class = " bbb";
}else{
$class = "";
}

$data .= "<a href=\"$linkp\" title=\"" . $list[$a]->name . "\" id=\"productthumbbig$x\" class=\"productthumbbigtitle\">";
$data .= "<span>" . $list[$a]->name . "</span>";
$data .= "</a>";

if($showthumb == 1){
$data .= "<a href=\"$linkp\" title=\"" . $list[$a]->name . "\" id=\"productthumbbig$x\" class=\"productthumbbig\">";
$data .= "<img src='" . JURI::base(true). "/components/com_virtuemart/shop_image/category/" . $list[$a]->filename . "' />";
$data .= "</a>";
}

if($showdesc == 1 || $showsubcat == 1){
$data .= "<div class='detail" . $class . "'>";

if($showdesc == 1){ $data .= "<div class='desc'>" . $list[$a]->desc . "</div>";}

if($showsubcat == 1){
$child = modTPIndexHelper::getListChild($params, $list[$a]->id);
if(count($child) > 0){
$data .= "<ul>";
for($i=0; $i<count($child); $i++){
$linkc = JRoute::_('index.php?option=com_virtuemart&page=shop.browse&category_id='.$child[$i]->id.$itemid, false);
$data .= "<li><a href=\"$linkc\" title=\"" . $child[$i]->name . "\">" . $child[$i]->name . " (" . number_format($child[$i]->total, 0, "", "."). ")</a></li>";
}
$data .= "</ul>";
}
}
$data .= "</div>";
$data .= "<div class='clear'></div>";
}
$data .= "</div>";
$data .= '</li>';
}

$x++;
}
$data .= "</ul>";
}
$data .= "</div>";
}else{
$data = "";
}
echo $data;
?>

Та же беда. Ищу уже много времени решение для этого модуля, но пока толку ноль. А модуль очень даже ничего!
*

Overmort

  • Захожу иногда
  • 91
  • 8 / 0
Подскажите пожалуйста, где искать? Мне нужно отключить вообще эти цифры.

Чтобы отключить отображение суммы товаров в категориях VirtueMart: Настройки - Настройки - Сайт - в области «Отображение» убрать галочку в поле «Показывать количество товаров»
*

fila61

  • Осваиваюсь на форуме
  • 15
  • 1 / 0
Использовал все способы. В коде что только не менял. Уже даже обновился до 1.1.9 но там галочка в настройках тоже не помогает. Подскажите кто сможет подсказать где еще рыть или какой код искать.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] Невидимая регистрация ( Покупка без регистрации ) V1.1.3

Автор urodoff

Ответов: 319
Просмотров: 99595
Последний ответ 27.10.2014, 15:27:02
от gaalferov
вывод категории и её подкатегорий на одной странице

Автор sega

Ответов: 44
Просмотров: 12396
Последний ответ 30.04.2014, 14:05:45
от ИринаМ
[Решено] Добавление Watermark к фото товара V1.0.15 V1.1.3

Автор mickymouse

Ответов: 52
Просмотров: 19210
Последний ответ 13.06.2013, 01:04:46
от richman
[Решено] Как изменить ,товаров в наличии 1 на "есть в наличии" V1.0.15 V1.1.3

Автор ButuzOFF

Ответов: 93
Просмотров: 34695
Последний ответ 17.05.2013, 21:10:44
от sa1981
[Решено] Вывод товаров из подкатегорий в родительскую категорию V1.0.15 V1.1.3

Автор baldesarini

Ответов: 273
Просмотров: 86331
Последний ответ 08.04.2013, 15:20:07
от asterix_kpi