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

Товары на сайт переносятся в CSV-файле. При этом каждый раз CSV содержит все товары, которые есть в продаже. Те товары которые были занесены в базу раньше, а теперь отсутсвуют, все равно остаются в базе и показываются покупателям. А они, гады, норовят их покупать. Ну не так это много, но менеджер злится.
Как сделать так, чтобы при импорте CSV товары, которых нет в CSV из базы сайта удалялись бы?
Наверно можно сделать так. При импорте в каждый товар, который есть в CSV к его названию добавляется проблел. Затем делается перебор всех товаров в базе. Если пробел в конце названия есть, то пробел удаляется, а если пробела нет, то удаляется этот товар (как вариант кол-во товара приравнивается 0).
Но как это написать на PHP?
*

tug

  • Захожу иногда
  • 333
  • 40 / 4
Re: Удалить товары, которых нет в CSV
« Ответ #1 : 09.10.2006, 22:35:31 »
Ну меня тоже менеджер достал, именно поэтому я написал тот самый хак.
CSV Action
« Последнее редактирование: 10.10.2006, 19:54:09 от tug »

Re: Удалить товары, которых нет в CSV
« Ответ #2 : 09.10.2006, 23:03:18 »
Что-то я не понял как это может мне помочь? Заводить новое поле? Зачем?
Речь о том, что если товар снят с продажи, то его вообще нет в CSV. Т.е. в CSV нет товара, а в базе сайта он есть. Вот в этом случае надо товар из базы сайта удалять. Так работает хак?
Еще, судя по названию, хак для 1.0.5. Я поставил днями 1.0.7. Вроде работает.
*

tug

  • Захожу иногда
  • 333
  • 40 / 4
Re: Удалить товары, которых нет в CSV
« Ответ #3 : 09.10.2006, 23:16:59 »
Он не так работает, но помочь вполне может. Т.е. удалить за проход товары снятые с продажи. а потом если вдруг появятся то их и восстановить можно. Или ещё проще unpublish сделать.

Re: Удалить товары, которых нет в CSV
« Ответ #4 : 10.10.2006, 00:01:49 »
По-моему он никак не может помочь, поскольку решает совсем другие задачи.
*

tug

  • Захожу иногда
  • 333
  • 40 / 4
Re: Удалить товары, которых нет в CSV
« Ответ #5 : 10.10.2006, 02:00:57 »
Ну по-моему проще в ксв указать товары, которых больше нет, чем удалять их из базы по одному.

Re: Удалить товары, которых нет в CSV
« Ответ #6 : 10.10.2006, 09:55:48 »
Да зачем их вообще указывать, помечать?!!
Никто их не будет указывать ни в CSV, ни еще как-то. Зачем эта лишняя работа?
Если товара (хоть 1, хоть 1000 товаров) нет в новом CSV, значит его нет в продаже и он должен быть удален во время импорта. Автоматически.
А вы предлагаете сначала выявить те товары, которых нет, потом их пометить в CSV, чтобы они потом АВТОМАТИЧЕСКИ :) удалились?
Зачем? Компьютер - он железный, пускай сам ищет и удаляет. Как вариант: делает кол-во = 0, или скрывает.

И вроде это не так уж сложно реализуется. Но я не умею с базами работать. Так только нахватался слегка PHP, пока ставил Joomla.
« Последнее редактирование: 10.10.2006, 09:59:07 от Microsoft »
*

tug

  • Захожу иногда
  • 333
  • 40 / 4
Re: Удалить товары, которых нет в CSV
« Ответ #7 : 10.10.2006, 10:41:10 »
Ну скажем так, для моего магазина Ваша идея не подходит.
Единственное что могу Вам посоветовать, переберите всё ксв (ну только артикулы естественно) в массив и всю базу в массив. А затем перебирая массив базы ищите такиеже артикулы в массиве из ксв. Артикул найден - обновить, не найден - удалить. Только удаляйте через стандлартную функцию удаления, т.к. там слишком много завязано на товар.

Re: Удалить товары, которых нет в CSV
« Ответ #8 : 10.10.2006, 11:27:48 »
В том то и проблема, что я не могу этого написать на PHP.
*

Sedoy

  • Давно я тут
  • 900
  • 87 / 10
  • Интересно,в какой кодировке пишут врачи?
Re: Удалить товары, которых нет в CSV
« Ответ #9 : 10.10.2006, 14:12:56 »
вообще идеалогия каталога (справочника по торг. БД) подразумевает следующее:
карточка товара заводиться и храниться в БД до тех пор пока она может быть актуальна, не зависимо от наличия товара на складе, просто в нормальной реализации это выглядит так - при остатке товара =0, карточка товара должна попадать в скрытые автоматом - в вариаенте вертуя анпаблиш, что б не отображаться для клиента и в прайсе.
для чего это нужно? т.к. в вертуе, как и в Тор.БД есть фишка типа сколько продано, типа рейтинг и т.д. то при удалении карточки мы теряем логистическую статистику это раз, второе а что будешь делать если через неделю этот товар появиться сново - заводить новую карточку?
поэтому карточка товара должна удаляться только в случае когда с этим товаром больше работать не предпологаеться.
в разрезе вертуя можно предложить (сам не делал, поэтому только теория) что б в СSV было поле "анпаблиш" которое прописывало товару опубликован он или нет - ну это tug сможет точно сказать реализуемо это или нет.
кста, заодно вопрос к tug_у, если нужно изменить у товаров только один параметр, скажем цену, то в CSV файле все равно нужно заполнить все предусмотренные поля или их можно оставить незаполненными, если да, то что там ставить пусто или 0 или это зависит от типа поля?
« Последнее редактирование: 10.10.2006, 14:17:02 от Sedoy »
Что б правильно задать вопрос - нужно знать на него ответ!
FAQ по Joomla!
Где скачать шаблоны Joomla Статьи и обзоры Желаю Вам здоровья в личной жизни - живите долго и часто :)
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Удалить товары, которых нет в CSV
« Ответ #10 : 10.10.2006, 14:21:46 »
В том то и проблема, что я не могу этого написать на PHP.
минуту.
если, как я понимаю, массив данных А, который щас в таблице продуктов, должен быть заменён на массив Б, который импортируется через CSV, и при этом не соответствующие товары должны быть уничтожены, то почему бы просто перед импортом не очистить таблицу #__vm_porduct?
это можно сделать через phpMyAdmin очень даже быстро.

TRUNCATE TABLE 'jos_vm_product'
« Последнее редактирование: 10.10.2006, 14:27:00 от userxp »
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

Sedoy

  • Давно я тут
  • 900
  • 87 / 10
  • Интересно,в какой кодировке пишут врачи?
Re: Удалить товары, которых нет в CSV
« Ответ #11 : 10.10.2006, 14:31:10 »
userxp, подход не верен с точки зрения исполнителя, т.к. этими делами не занимается админ джумлы, а манагер которому не до таблиц в на уровне базы, поэтому решение должно быть максимально тривиальным по исполнению простым смертным на уровне "нажал" кнопку и готово.
вечная трабла кодеров - забывают о конечном потребителе, это все равно что если б в 1С админ заводил приходы и расходы и т.д., а не девочка в торговом зале :)
Что б правильно задать вопрос - нужно знать на него ответ!
FAQ по Joomla!
Где скачать шаблоны Joomla Статьи и обзоры Желаю Вам здоровья в личной жизни - живите долго и часто :)
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Удалить товары, которых нет в CSV
« Ответ #12 : 10.10.2006, 14:36:16 »
согласен, просто мне непонятны были изначальные условия кто и что делает.
с другой стороны, есть админка, где сразу можно удалить все товары или перевести их в unpublish.
менеджер, я думаю, сделать это в состоянии.
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

Sedoy

  • Давно я тут
  • 900
  • 87 / 10
  • Интересно,в какой кодировке пишут врачи?
Re: Удалить товары, которых нет в CSV
« Ответ #13 : 10.10.2006, 14:46:33 »
1 - мне вот ни разу не удалось вывести сразу все товары, только после того как выберешь категорию, то видишь товары этой категории, до этого все пусто, может кто подскажет как это делается, а то для меня это загадка почему так реализовано в вертуе?
2 - для любой потребительской проги условия всегда одни и те же: кодер сваял, админ настроил-сконфигурил, юзер юзает - все! вторичное привлечение первых двух предпологается только в случаях не предусмотренных первоначальными условиями :)
Что б правильно задать вопрос - нужно знать на него ответ!
FAQ по Joomla!
Где скачать шаблоны Joomla Статьи и обзоры Желаю Вам здоровья в личной жизни - живите долго и часто :)
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Удалить товары, которых нет в CSV
« Ответ #14 : 10.10.2006, 15:02:40 »
в 1.0.7 когда клацаешь на Quick Icon "Cписок товаров", то выводится весь список независимо от категории.
насколько я помню, в 1.0.6 этого не было
там раньше, вроде, когда категория не была выбрана, то список был пустым...
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

Sedoy

  • Давно я тут
  • 900
  • 87 / 10
  • Интересно,в какой кодировке пишут врачи?
Re: Удалить товары, которых нет в CSV
« Ответ #15 : 10.10.2006, 15:10:19 »
на 107 пока не перешел еще
насколько русский там отличется от 106? и есть ли он в нормальном виде?
Что б правильно задать вопрос - нужно знать на него ответ!
FAQ по Joomla!
Где скачать шаблоны Joomla Статьи и обзоры Желаю Вам здоровья в личной жизни - живите долго и часто :)
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Удалить товары, которых нет в CSV
« Ответ #16 : 10.10.2006, 15:15:34 »
взял последнюю версию Tug-а. там была одна ошибка - поправил.
в принципе нормально (как для меня ;D )
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

Sedoy

  • Давно я тут
  • 900
  • 87 / 10
  • Интересно,в какой кодировке пишут врачи?
Re: Удалить товары, которых нет в CSV
« Ответ #17 : 10.10.2006, 15:26:26 »
надо попробовать
Что б правильно задать вопрос - нужно знать на него ответ!
FAQ по Joomla!
Где скачать шаблоны Joomla Статьи и обзоры Желаю Вам здоровья в личной жизни - живите долго и часто :)

Re: Удалить товары, которых нет в CSV
« Ответ #18 : 10.10.2006, 15:40:20 »
По поводу чистки базы я не понял. Что можно просто удалить программно все товары перед импортом CSV? Как? Я не знаю что будет в этом случае с уже сделанными заказами? Узнает ли система в целом свой товар, если его удалить и снова добавить? Она их внутри только по SKU идентифицирует?
.
Да я упустил из виду старые заказы и отчеты по ним в админке! Что будет, если удалить товары?
.
Наверно надо не удалять а делать анпблиш? Но в любом случае это должно происходить само собой при импорте. Менеджер, кстати, занимается совсем др. задачами, а магазин на него навесили сверху. Так что его понять можно.
Так же и на меня навесили этот сайт в качестве бесплатного довеска. Гады, эксплуататоры!
.
В принципе надо после процедуры импорта, которую можно оставить как есть, сделать вставку для сверки товаров по SKU и анпблиш.
Чую, что это несложно для знающего PHP. Может кто-либо напишет?
На VBS я бы сразу написал :)

Re: Удалить товары, которых нет в CSV
« Ответ #19 : 10.10.2006, 16:02:16 »
А ведь там в function upload_csv наверно все массивы уже созданы? Нужно только прописать перебор и проверку наличия. Так, нет?

Re: Удалить товары, которых нет в CSV
« Ответ #20 : 10.10.2006, 16:25:22 »
А как в ps_csv.php программно перед импортом сделать ВСЕМ товарам базы Unpublish?
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Удалить товары, которых нет в CSV
« Ответ #21 : 10.10.2006, 16:39:54 »
в принципе, вот так:

$dbcs 
= new ps_DB;
$dbcs->query("UPDATE #__{vm}_product SET product_publish='N'");


но надо смотреть в какой функции, какие переменные...
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3

Re: Удалить товары, которых нет в CSV
« Ответ #22 : 10.10.2006, 16:48:55 »
Спасибо, но мне этого недостаточно. Мне бы еще номер строки после которой это вставить?
Если это возможно, то тогда задачу можно решить так. В функции перед импортом делаем всем товарам Unpublish, а далее в ходе импорта всем товарам, которые обновляются или добавляются, делать Publish. Так можно? Как сделать?
Если всем товарам сделать Unpublish - это только 2 строки, то и каждому при импорте сделать Publish, наверно не больше?
Я про ps_csv.php
« Последнее редактирование: 10.10.2006, 16:53:46 от Microsoft »
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Удалить товары, которых нет в CSV
« Ответ #23 : 10.10.2006, 16:52:58 »
к сожалению, не скажу, ибо импорт в магазине не ковырял и где, когда и какая функция выполняется не знаю, поэтому и куда это вставить не скажу... :(
тут надо сидеть, разбираться...

В функции перед импортом делаем всем товарам Unpublish, а далее в ходе импорта всем товарам, которые обновляются или добавляются, делать Publish. Так можно? Как сделать?
если в CSV закладывать поле product_publish=Y, то этого запроса достаточно.
кто делает импорт из CSV? ты?
ну так выбираешь все товары, жмешь Снять публикацию, а потом делаешь импорт (ессесно с учётом того, что должно присутствовать указанное поле)
тогда и запрос этот тебе не нужен
« Последнее редактирование: 10.10.2006, 16:58:31 от userxp »
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3

Re: Удалить товары, которых нет в CSV
« Ответ #24 : 10.10.2006, 17:03:40 »
Нельзя вручную выбрать все товары. Можно только 50 максимум. А их 700-800. Импортирует менеджер.
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Удалить товары, которых нет в CSV
« Ответ #25 : 10.10.2006, 17:10:12 »
ааа.. точно! но же не умеет их резать на страницы!
я и забыл совсем!
извини...
:(
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

Alexashka

  • Захожу иногда
  • 146
  • 16 / 2
Re: Удалить товары, которых нет в CSV
« Ответ #26 : 10.10.2006, 17:20:14 »
Ребят... Я не понял в чем сыр-бор...
В виртуе есть такая галочка, если она ставится, то товары с количеством 0 - не отображаются. Точнее их видят только все те, кто по статусу выше пользователя.
И еще... Если товара нет на складе, то магазин не дает возможности сделать этот заказ...
Зато позволяет в этом случае прислать уведомление письмом, что товар появился... Уведомление, кстати, не русифицированное. Сейчас только проверил...
----
Итак... В чем вопрос то был?

[вложение удалено Администратором]
« Последнее редактирование: 10.10.2006, 17:34:32 от Alexashka »
Сказал - не слышат.
Крикнул - не слышат.
Буду думать! (c) Борис Косенков
*

Sedoy

  • Давно я тут
  • 900
  • 87 / 10
  • Интересно,в какой кодировке пишут врачи?
Re: Удалить товары, которых нет в CSV
« Ответ #27 : 10.10.2006, 17:40:04 »
ага кол-во 0, а как же тогда с товаром что б цена была без налога? а точнее что б цена была с учетом налога и не пересчитывалась (не выводилась во фронтэнд) с процентом? в проценты "0" ставить?

сорри погорячился :) там не кол-во там вес :)
« Последнее редактирование: 10.10.2006, 17:45:43 от Sedoy »
Что б правильно задать вопрос - нужно знать на него ответ!
FAQ по Joomla!
Где скачать шаблоны Joomla Статьи и обзоры Желаю Вам здоровья в личной жизни - живите долго и часто :)
*

Alexashka

  • Захожу иногда
  • 146
  • 16 / 2
Re: Удалить товары, которых нет в CSV
« Ответ #28 : 10.10.2006, 17:47:29 »
Ну я же тебе говорил :)
В цене прописываешь цену с уже начисленным налогом. Налог указываешь любой.
А настройку в админ. панели магазина делаешь такую:

[вложение удалено Администратором]
Сказал - не слышат.
Крикнул - не слышат.
Буду думать! (c) Борис Косенков
*

Sedoy

  • Давно я тут
  • 900
  • 87 / 10
  • Интересно,в какой кодировке пишут врачи?
Re: Удалить товары, которых нет в CSV
« Ответ #29 : 10.10.2006, 17:52:09 »
да помню - помню, только вес еще должен быть 0, иначе "плюет" он на эту "галочку"
Что б правильно задать вопрос - нужно знать на него ответ!
FAQ по Joomla!
Где скачать шаблоны Joomla Статьи и обзоры Желаю Вам здоровья в личной жизни - живите долго и часто :)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор Girevik

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

Автор artMelnikov

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

Автор aleks_yug

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

Автор Serpent19

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

Автор skanv

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