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

Re: Удалить товары, которых нет в CSV
« Ответ #30 : 10.10.2006, 17:59:35 »
Так, я кое-куда продвинулся.
Я смог по подсказкам и методом тыка перед импортом всем товарам сделать Unpublish. Все новые товары получаются Publish. Осталось вставить некую строку, чтобы все другие товары, которые есть в CSV при update тоже делались Publish.
tug, посмотрите, вы же там все изучили вдоль и поперек?
Я говорю об обычном неправленном ps_csv.php из версии 1.0.7.
Если это пробить, то все будет работать.

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

Re: Удалить товары, которых нет в CSV
« Ответ #31 : 10.10.2006, 18:47:32 »
Вроде заработало.
Вкладываю свой вариант файла ps_csv.php из 1.0.7.
В нем моя правка помечена так: // Моя правка.

Я в PHP совершенно плаваю, поэтому прошу посмотреть, все ли сделал правильно?

Идея такая. При импорте товаров из CSV, те товары, которые есть в базе сайта, но которых нет в CSV, должны стать неопубликованными. А все, которые есть в CSV, должны стать опубликованными.

При этом еще не должно сбрасываться на 0 число проданных товаров product_sales.

Еще там размер строки увеличен вдвое = 8192. Это не помечено.

И в описаниях товара делается нормализация перевода строки. Это не помечено.


[вложение удалено Администратором]
*

tug

  • Захожу иногда
  • 333
  • 40 / 4
Re: Удалить товары, которых нет в CSV
« Ответ #32 : 10.10.2006, 19:55:28 »
Уф. При заказе текущие данные заказаных товаров помещаются в специальную таблицу (данные пользователей кстати тоже), поэтому даже при полном уничтожении базы Вы будете знать про старые заказы всё.

Другое дело, что в большинстве случаев товар это не просто запись в таблице, это по крайней мере запись в двух таблицах, а при наличии производителя, скидки и прочего ещё и в других. Т.е. удалять трункейтом, как это предложил userxp мягко говоря неправильно. Внутри VirtueMart'а каждый товар идентифицируется по внутреннему номеру VM и по артикулу, т.е. в итоге вполне может получиться, что тупо удалив все товары при заливке csv у Вас все товары поменяются местами в категориях или ещё чего хуже.

Снятие с публикации намного более лучший выход. Сам не додумался =)

Re: Удалить товары, которых нет в CSV
« Ответ #33 : 10.10.2006, 20:03:57 »
tug, так посмотрите мой вариант правки импорта постом выше. Там всего несколько строк добавлено.
Я смотрю в коде есть еще такое:

                   * Now let's search for Attribute Values
                   * which are then added to this Child Product

Надо ли что-то делать, чтобы обработать и эти загадочные Child Product?
В моей базе нет никаких Child Product.
*

tug

  • Захожу иногда
  • 333
  • 40 / 4
Re: Удалить товары, которых нет в CSV
« Ответ #34 : 11.10.2006, 00:21:56 »
Посмотрел. Ну чистенько, нормально. Child Product вовсе не загадочные, я их на petman'е вовсю использую как товары разных фасовок.

Re: Удалить товары, которых нет в CSV
« Ответ #35 : 11.10.2006, 08:41:30 »
А эти Child Products будут обработаны моим вариантом кода или надо еще что-то добавить?
*

Alexashka

  • Захожу иногда
  • 146
  • 16 / 2
Re: Удалить товары, которых нет в CSV
« Ответ #36 : 11.10.2006, 13:46:30 »
да помню - помню, только вес еще должен быть 0, иначе "плюет" он на эту "галочку"
Наоборот, нулевой вес невозможен... Иначе никак не рассчитаешь стоимость доставки... Да и не даст виртуй такое сделать...
Сказал - не слышат.
Крикнул - не слышат.
Буду думать! (c) Борис Косенков
*

h2lord

  • Осваиваюсь на форуме
  • 31
  • 3 / 0
Re: Удалить товары, которых нет в CSV
« Ответ #37 : 13.10.2006, 13:34:40 »
Товары на сайт переносятся в CSV-файле. При этом каждый раз CSV содержит все товары, которые есть в продаже. Те товары которые были занесены в базу раньше, а теперь отсутсвуют, все равно остаются в базе и показываются покупателям. А они, гады, норовят их покупать. Ну не так это много, но менеджер злится.
Как сделать так, чтобы при импорте CSV товары, которых нет в CSV из базы сайта удалялись бы?
Наверно можно сделать так. При импорте в каждый товар, который есть в CSV к его названию добавляется проблел. Затем делается перебор всех товаров в базе. Если пробел в конце названия есть, то пробел удаляется, а если пробела нет, то удаляется этот товар (как вариант кол-во товара приравнивается 0).
Но как это написать на PHP?

лучше убрать публикацию товара
UPDATE jos_vm_product SET product_publish='N'
*

matrix-ukr

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Re: Удалить товары, которых нет в CSV
« Ответ #38 : 26.05.2008, 03:34:20 »
Как бы это все прикрутить к ВМРЕ 1.0.12.1.  Потому что файл ps_csv.php версии  1.0.7  очень разнится от версии ВМРЕ 1.0.12.1.
Может кто знает что надо добавить и изменить ?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как реализовать: товары, которых нет в наличии в конец списка категории?

Автор Girevik

Ответов: 1
Просмотров: 1208
Последний ответ 02.11.2017, 10:52:04
от P_B
[Решено] Чебокс "Показывать только товары, которые есть в наличии"

Автор artMelnikov

Ответов: 20
Просмотров: 7138
Последний ответ 28.06.2017, 11:19:51
от OutLaw1
Модуль недавно просмотренные товары для VirtueMart 1.1.X

Автор aleks_yug

Ответов: 97
Просмотров: 24991
Последний ответ 25.10.2016, 15:03:07
от Igoritaly
[Решено] Скидки на зависимые товары

Автор Serpent19

Ответов: 4
Просмотров: 1427
Последний ответ 04.06.2014, 15:47:15
от One
Цены на товары в Virtuemart 1.1

Автор skanv

Ответов: 317
Просмотров: 157411
Последний ответ 09.01.2014, 19:37:34
от fsv