Автор Тема: Баг - Неправильное отображение кол-ва товаров в категории (Админка)  (Прочитано 11819 раз)

Оффлайн Kokoc

  • Чайник
  • *
  • Сообщений: 16
    • Просмотр профиля
Всем доброго времени суток!

Нашел небольшой баг в админке на демо-сайте http://lego-demo.shop-script.org/
В разделе "Товары", слева идет дерево-категорий и напротив каждого названия категорий есть цифра, которая показывает сколько товара находится в этой категории..

Так вот когда в любой категории обновляешь товар (именно когда обновляешь!) эта цифра увеличивается на 1, и так каждый раз когда обновил один и тотже товар. Получается в категории 2 товара, обновил один, кол-во товара стало 3, обновил опять, уже 4 и эта цифра не обнуляется пока ты, не обновишь саму категорию.

Картинка прилагается, чтобы было понятней о чем я тут говорю.

Оффлайн Kokoc

  • Чайник
  • *
  • Сообщений: 16
    • Просмотр профиля
А это вообще лечится? чтобы не нажимать "сохранить" в категориях

trancep

  • Гость
Можно скриптик на крон посадить.
Пусть тот раз в сутки обновляет кол-во товаров в категории автоматически.
Если надо, обращайтесь)

Оффлайн Kokoc

  • Чайник
  • *
  • Сообщений: 16
    • Просмотр профиля
Вопрос остается открыт.. как исправить баг?

в демо версии SP 5, этого бага не заметил, поэтому вопрос к pehser!
http://lego-nightly.shop-script.org/

guro

  • Гость
Я тоже столкнулся с такой проблемой.

Исправил следующим образом. В файле /cfg/category_functions.php в функции update_products_Count_Value_For_Categories_new($par,$cout_p=0,$cout_ap=0)
Заменил вот это:

    $q 
db_query('select parent,products_count,products_count_admin from '.CATEGORIES_TABLE.' where categoryID='.$scat);
    
$row db_fetch_row($q);
    
$par $row[0];
    
$u['products_count'] = $row[1]+$cout_p;
    
$u['products_count_admin'] = $row[2]+$cout_ap;


На вот это:

    $q 
db_query("SELECT sum(`enabled`), count(productID) FROM ".PRODUCTS_TABLE." WHERE categoryID=$scat");
    
$row db_fetch_row($q);
    
$par $row[0];
    
$u['products_count'] = $row[0];
    
$u['products_count_admin'] = $row[1];
« Последнее редактирование: Сентября 08, 2011, 08:41:01 pm от guro »