Ответить Новая тема Новый опрос 
 Как изменить кол-во товара в комбинации товара?
Wardog
Новичок
Сообщений: 28
Регистрация: 01-02-2010


22-05-2010 20:41
Модуль mussapdate дает возможность изменить количество товара, но мне нужно изменять количество товара через комбинации товара, в одном наименовании у меня возможно до 120 комбинаций товара, и все они у меня имеют разное количество, как можно решить этот вопрос?
заранее спасибо
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
artyrnik
Новичок
Сообщений: 16
Регистрация: 05-05-2010


23-05-2010 06:43
Код:
sub Update_Quantyty_product {
  my $id_product = shift;
  my $artikul = shift;
  my $quantity = shift;  
      
  if (Num_Product_Attribute($id_product) != 0) {
    #у продукта есть атрибуты апдейтим количество в атрибутах согласно артикула
    $dbh->do("update `ps_product_attribute` set quantity = $quantity WHERE `id_product` = $id_product and reference = '$artikul'");
  } else {
    #у продукта нет атрибутов апдейтим количество в продуктах
    $dbh->do("update ps_product set quantity = $quantity where id_product = $id_product");
      
  }
      
}  
sub Num_Product_Attribute {
  my $id_product = shift;
  
  my $MyQUERI="SELECT count(*) FROM `ps_product_attribute` WHERE `id_product` = $id_product";
  my $count_attribute = $dbh->selectrow_array ($MyQUERI);
  return $count_attribute;
}

если есть возможность запустить прогу на перле могу выложить
берет csv и апдейтить количество в базе ну и может создать csv из базы id продукта, артикул, количество
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Wardog
Новичок
Сообщений: 28
Регистрация: 01-02-2010


23-05-2010 15:57
я пока новичек и мне не совсем понятно как можно использовать этот код? в каком файле прописывать
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
artyrnik
Новичок
Сообщений: 16
Регистрация: 05-05-2010


23-05-2010 16:31
этот код не относится к магазину.
это просто пример как проапдейтить в базе количество.
я написал на перле отделную прогу которая берет csv и апдейтит товары в базе магазина используя айди продукта и артикул


Сообщение отредактировано artyrnik 23-05-2010 11:33 ...
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Wardog
Новичок
Сообщений: 28
Регистрация: 01-02-2010


29-05-2010 20:38
а можно как нибудь менять кол-во комбинаций товара из админки? это было бы наиболее удобный вариант
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
bishop2000


Новичок
Сообщений: 54
Регистрация: 15-11-2010


16-11-2010 07:40
Цитата:( artyrnik @ 23-05-2010 12:31 Смотреть сообщение )
этот код не относится к магазину.
это просто пример как проапдейтить в базе количество.
я написал на перле отделную прогу которая берет csv и апдейтит товары в базе магазина используя айди продукта и артикул


Гениальная вещь. А можно это как-то запустить не на Perl'e?
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
ors
Профессионал
Сообщений: 1885
Регистрация: 09-11-2009


16-11-2010 12:51
Еще более простое решение:
Открываем прайс с количеством в excel и пишем формулу
Код:
="UPDATE IGNORE `ps_product_attribute` SET `quantity`="&B1&" WHERE `reference`='"&A1&"'; UPDATE IGNORE `ps_product` SET `quantity`="&B1&" WHERE `reference`='"&A1&"';"


Где в столбце A находится артикул, а в B - количество (измените столбец и строку по своему прайсу). Затем растягиваем формулу по длине прайса и выполняем получившиеся запросы в phpMyAdmin.

Немного дополнив формулу можно и цены таким образом обновлять. Обновлял так около 10т товаров, так как при обычном импорте превышалось максимальное время выполнения, а в админке хостинга оно было не ограничено.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Ответить Новая тема Новый опрос