Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Требуется настроить обновление товаров через csv


ostrychmax

Recommended Posts

Добрый день. Нужно готовое решение (ну или выполнить под заказ) для opencart 1.5.1.3 обновления товаров через выгрузку в формате csv. Что имеется:

Выгрузки данных в следующих форматах.

http://stripmag.ru/xml/insalesFull_cp1251.csv

Формат файла CSV

Кодировка cp1251

Поля: ID;Name;Price;Whole price;InSale;Description;Image;Vendor;Category; SubCategory;Color;Size;

ID – артикул модели;

Name – название модели;

Price – розничная цена;

Whole price – оптовая цена;

InSale – в продаже;

Description - описание;

Image – ссылки на фотографии разделенные пробелом;

Vendor - производитель;

Category – корневая категория;

SubCategory – подкатегория;

Color - цвет;

Size - размер;

http://stripmag.ru/xml/full_webasyst_cp1251.csv

Формат файла CSV

Кодировка cp1251

Поля: Артикул;Наименование;Цена (Розница);Цена (Опт);Можно купить;Краткое описание;Маленькая фотография;Фотография 1;Фотография 2;Фотография 3;Фотография 4;Фотография 5;Фотография 6;Производитель;Цвет/Размер

1) http://shirleyrussia.ru/xml/shirleyrussia.xml

Формат файла XML

Кодировка UTF-8

Файл содержит каталог моделей белья Shirley Of Hollywood, описание, состав и цены.

<id> - Артикул товар

<category> - Категория товара

<name> - Наименование товара

<description> - Описание товара

<vendor> - Производитель

<pictureSmall> - url маленькой картинки

<picture> - url большой картинки

<price> - Рекомендованная розничная цена (рубли)

<wholesale> - Оптовая цена (рубли)

2) http://shirleyrussia.ru/xml/shirley_sklad.xml

Формат файла XML

Кодировка UTF-8

Файл содержит количество моделей белья Shirley Of Hollywood на складе, их цвета и размеры

В атрибуте id элемента product указан Артикул товара.

<color> - Цвет

<size> - Размер

<sklad> - Количество незабронированных моделей на складе Если модель представлена на складе в количестве 3 и более штук, в XML файле указана цифра 3.

<time> - Скорость отгрузки (1 - в течение часа с момента заказа, 2 - в течение одного рабочего дня).

Эту выгрузку нужно использовать в купе с первой. Т.е. первая выгрузка дает информацию о номенклатуре, а вторая о наличие, цветах и размерах.

Как эти выгрузки закачивать на сайт? Может есть какой-то модуль, или кто-то возьмется за разработку такого модуля. Очень нужна помощь, уже 3 день маюсь с этими выгрузками... Всем заранее спасибо...

Надіслати
Поділитися на інших сайтах


Модуль для выгрузки из csv есть...но его скорей всего нужно будет немного подредактировать

http://opencartforum...e-importexport/

Для выгрузки из xml не встречал нигде, но написать его можно

Надіслати
Поділитися на інших сайтах


Модуль для выгрузки из csv есть...но его скорей всего нужно будет немного подредактировать

http://opencartforum...e-importexport/

Для выгрузки из xml не встречал нигде, но написать его можно

это позор, а не модуль

// Update Price
                if( count($item) == 6 ) {
                    //$sql = 'UPDATE '. DB_PREFIX . 'product SET quantity = "'.$item[4].'", price = '.$item[5].' WHERE product_id = '.(int)$item[0];
                    $this->db->query('UPDATE '. DB_PREFIX . 'product SET quantity = "'.$item[4].'", price = '.$item[5].' WHERE product_id = '.(int)$item[0]);
                } elseif ( count($item) == 3 ){
                    //$sql = 'UPDATE '. DB_PREFIX . 'product SET quantity = "'.$item[1].'", price = '.$item[2].' WHERE model = "'.$item[0].'"';
                    $this->db->query('UPDATE '. DB_PREFIX . 'product SET quantity = "'.$item[1].'", price = '.$item[2].' WHERE model = "'.iconv('cp1251', 'UTF-8', $item[0]).'"');
                }elseif ( count($item) == 2 ){
                    //$sql = 'UPDATE '. DB_PREFIX . 'product SET price = '.$item[1].' WHERE model = "'.$item[0].'"';
                    $this->db->query('UPDATE '. DB_PREFIX . 'product SET price = '.$item[1].' WHERE model = "'.iconv('cp1251', 'UTF-8', $item[0]).'"');
                }
Надіслати
Поділитися на інших сайтах

это позор, а не модуль

я его не писал

на буржуйском полазил и нашел http://www.opencart.com/index.php?route=extension/extension/info&extension_id=4094&filter_search=csv&sort=e.date_modified&order=DESC&page=3

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

  • +1 1
Надіслати
Поділитися на інших сайтах


я его не писал

на буржуйском полазил и нашел http://www.opencart....der=DESC&page=3

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

Попробую спасибо...

Надіслати
Поділитися на інших сайтах


это позор, а не модуль

Замечательно работает уже больше полугода. А добавить экранирование вставляемых данных и убрать iconv, если очень хочется - не проблема.

Пользоваться для обновления цен модулем импорта-экспорта через XLS - вот это позор.

Надіслати
Поділитися на інших сайтах


Замечательно работает уже больше полугода. А добавить экранирование вставляемых данных и убрать iconv, если очень хочется - не проблема.

Пользоваться для обновления цен модулем импорта-экспорта через XLS - вот это позор.

ага и лимит 1000 убрать

и вот эти параметры вынести в админку CSV_SEPARATOR, CSV_ENCLOSURE

Надіслати
Поділитися на інших сайтах

и вот эти параметры вынести в админку CSV_SEPARATOR, CSV_ENCLOSURE

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

При лимиты ничего не помню. Вроде не было ничего такого. Да и не в этом суть. Эти мелочи и ошибки не делают это решение чем-то ужасным. Замечательное и легковесное решение. CSV из 2-3 колонок готовятся владельцем магазина и ни о каких SQL-injections речи нет, поэтому я и сказал ранее, что искейпить данные в принципе не очень-то и нужно в этом случае: так тоже сойдёт и к проблемам вряд ли приведёт.

Надіслати
Поділитися на інших сайтах


... поэтому я и сказал ранее, что искейпить данные в принципе не очень-то и нужно в этом случае: так тоже сойдёт и к проблемам вряд ли приведёт.

полный бред. посмотри тему, ошибки уже были. любой спецсимвол рушит импорт.

никогда не пишу код, который так тоже сойдёт даже как временное решение, потому как его растащат и будут использовать.

Надіслати
Поділитися на інших сайтах

никогда не пишу код, который так тоже сойдёт даже как временное решение, потому как его растащат и будут использовать.

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

Надіслати
Поділитися на інших сайтах

полный бред. посмотри тему, ошибки уже были. любой спецсимвол рушит импорт.

никогда не пишу код, который так тоже сойдёт даже как временное решение, потому как его растащат и будут использовать.

Согласен. Но это тоже крайность. Перфекционизм называется. А есть agile и TDD. Умеешь писать сразу идеально и без ошибок - пиши и распространяй. Другие пишут что-то для решения своих проблем и делятся тем, что есть здесь сейчас. И мне это тоже кажется достойным уважения. На этом, собсвенно, весь OSS и живёт: увидел ошибку - сделал форк, предложил исправления автору. Если автор странный - поддерживаешь форк сколько можешь.
Надіслати
Поділитися на інших сайтах


А есть agile и TDD.

это методологии разработки =)

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

Надіслати
Поділитися на інших сайтах

это методологии разработки =)

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

Угу - нужно.

Как раз написали импорт под себя на python'e, еще экранирование и фильтры добавить осталось. Хорошо что напомнил. В принципе с бд и с прайсом работаю только я ) ну а вдруг )

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

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.