Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

Скрипт экспорта и поддержание актуальности.


kon
 Поделиться

Рекомендованные сообщения

Есть пара скриптов на перл.Один взаимодействует с системой Автопредприятие8 и формирует файл с информацией о товарах, категориях, производителях, ценах, количествах. Второй, получив каким либо образом этот файл - заливает информацию в опенкарт. Заливает не совсем тупо - проверяет разницу между состоянием опенкарта и текущим состоянием полученным из файла передачи. То есть если в исходной базе переименовалась категория товара, или изменилось название производителя, или удален товар или категория, или изменилась цена товара, то эти изменения будут отображены и в опенкарт.В принципе Автопредприятие8 тут имеет значение постольку поскольку, забор информации тривиален, и источник может быть любой.Вопрос - оно интересно кому? Если интересно - причешу и выложу под GPL v2+.

Ссылка на комментарий
Поделиться на других сайтах


К сожалению для корректной работы модуля импорта/экспорта нужны серьезные ресурсы. На личном примере убедился что для импорта файла Excel весом 3 мегабайта необходимо на сервере оперативки в районе 300 Мб. При чем товаров в файле не больше 1500 шт.

Ссылка на комментарий
Поделиться на других сайтах


О! Конечно интересно. А если составишь хорошее описание как этим пользоваться вообще зачетно будет :(

ОК. За воскресенье напишу инструкцию для использования, добавлю комментариев в код и выложу.
Ссылка на комментарий
Поделиться на других сайтах


  • 4 недели спустя...

Ребят я не особо в "Рearl" да и всякого рода таких делах "Юзверь" я...... Подскажите как и куда нужно всунуть сей скрипт чтоб потом подтягивать данные? или это все через базы непосредственно ручками?

Ссылка на комментарий
Поделиться на других сайтах


Боюсь что для просто "Юзверя" это не годится. Это скрипт для синхронизации некоей абстрактной базы с номенклатурой и опенкарта. Причем работа с некоей абстрактной базой - выборка из нее актуальных данных - ложится на ваши плечи. А вообще да - скрипт в результате работает непосредственно с базой mysql минуя php обвязку. Получается быстро, не накладно по ресурсам и поддается автоматизации для поддержания соответствия без человеческого участия.У меня 2800 позиций - заливка занимает секунд 20. Актуализация данных - секунд 5.

Ссылка на комментарий
Поделиться на других сайтах


Весьма жаль потому что у меня гдет так же предвидеться около 1500-2000 позиций даже не хочется думать о том чтоб это руками все править.......Ну а все же если не тяжело как-то пошагово описать сам процес и подручные утилитки чтоб запустить эту синхронизацию можна? или все делается втупую с консоли?

Ссылка на комментарий
Поделиться на других сайтах


Подручные утилитки это perl и те пару скриптов. А откуда вам нужно вытащить данные? Есть образец? И консоль - она не не тупая - отнюдь.Опять же если в консоли все отлажено и работает - никто не мешает понавешать на это ярлыков разложить красиво на рабочем столе. Или запихать в cron.

Ссылка на комментарий
Поделиться на других сайтах


Данные могут быть выгружены либо в ексель файлик либо 1С-овский формат......А по поводу консоли я не говорил что она тупая) Скорее всего обратное) Я имел ввиду что "просто" с консоли.........Дело в том что магазинчек у меня на FreeBSD....и всунуть в крон с помощью умов я смогу....мнеб понять сам принцип работы данного скрипта.По типу откуда он берет и что мне нада положить в каком формате туда чтоб он брал.....

Ссылка на комментарий
Поделиться на других сайтах


Выгрузи данные в какой нибудь общепринятый формат, CSV например, выложи куда нибудь и дай линку.

Должно быть три файла - Производители, Категории, Товары. Не забудь описание полей дать.

Крайне важно чтобы не прерывалась логическая связь с исходной базой, то есть каждая запись в CSV файле должна иметь первым аргументом уникальный номер объекта (ID) из родительской - исходной базы.

Структура таблиц Производителей и Товаров понятна. Линейная таблица.

Производители:

^id_производителя^;^Имя_производителя^
Товары:

^id_товара^;^id_производителя_товара^;^id_категории_товара^;^Название^;^Цена^;^Количество^;^Стоимость^;^Примечание^
Все просто.

А вот структура категорий должна иметь вид:

^id_категории^ ; ^Имя_категории^ ; ^id_родительской_категории^ ; ^Примечания к категории^
Именно такая структура используется в opencart

Я сварганю getdata скрипт для этого формата, делов то. Может кому то и пригодится.

То, что магазин на фре крутится - облегчает дело, perl там есть.

Ссылка на комментарий
Поделиться на других сайтах


Я че-то не могу вкурить - как первоначальный файл для импорта сформировать средствами РНР ?И вообще можно ли делать этот xls файл чем-то еще кроме как openoffice? Ну не руками же прописыватьвсе товары и атрибты в эти таблички...

Ссылка на комментарий
Поделиться на других сайтах


А зачем его формировать средствами php? И самый главный вопрос - что является в вашем случае исходной базой? Нужно отталкиваться от вашей исходной базы и придумать несложный способ импорта ее структуры в какой нибудь открытый (ну не в *.xls же ковыряться) формат. CSV для импорта подходит хорошо. Впрочем как и например DBF файлы firebird-a. Потому что больших проблем для импорта любого объема данных в опенкарт нет. Есть проблема экспорта из ваших хранилищ. Для своего хранилища я скрипт написал и его очень не сложно переделать для любого другого хранилища, которое хотя бы отдаленно смахивает на реляционную базу данных.

Ну не руками же прописыватьвсе товары и атрибты в эти таблички...

Дык ради этого я и затевал всё.
Ссылка на комментарий
Поделиться на других сайтах


А зачем его формировать средствами php? И самый главный вопрос - что является в вашем случае исходной базой? Нужно отталкиваться от вашей исходной базы и придумать несложный способ импорта ее структуры в какой нибудь открытый (ну не в *.xls же ковыряться) формат. CSV для импорта подходит хорошо. Впрочем как и например DBF файлы firebird-a. Потому что больших проблем для импорта любого объема данных в опенкарт нет. Есть проблема экспорта из ваших хранилищ. Для своего хранилища я скрипт написал и его очень не сложно переделать для любого другого хранилища, которое хотя бы отдаленно смахивает на реляционную базу данных.

Ну не руками же прописыватьвсе товары и атрибты в эти таблички...

Дык ради этого я и затевал всё.
Собственно дело в том, что счас базы товаров нет, то есть товары есть, но никак не структуированы.И я лазил по форуму в поисках рецепта составления многотабличного xls-файла для дальнейшего скармливания в опенкарт через модуль импорт/экспорт, поэтому получилось немного не в тему. Пардон.В вашем скрипте, как я понял, свободная форма для ввода товаров и категорий, что, несомненно, даже лучче. С понедельника будем пробывать.
Ссылка на комментарий
Поделиться на других сайтах


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

Ссылка на комментарий
Поделиться на других сайтах


  • 4 недели спустя...

Kon сори малость пропал так и не домучав начатое.... =) Вобщем мне скинули кусок базы из которой нада будет составить списки товаров. И вот пока я отсутсвовал оратор излагавшийся после меня выдал именно то что мне нужно.... Как бы магазин пустой ну там демо товары+демо производители. А мне вот нада с моей базы запиндюрить список товара. И я так понял сей скрипт делает немного иную работу он обновляет то что уже имеется соответсвенно новым цифрам базы? А вбивание товара с нуля пусть даже в одну категорию у меня не как не выдет?

ссылка на базу..... http://dump.ru/file/4688326 чет маловато у вас под вложения всего 250кб

Ссылка на комментарий
Поделиться на других сайтах


Посмотрел базу.

Нужно определения полей и которые из них забрать.

FLAG    KOD     ROD     UR      NAME    FULLNAME        ART     CENA1   CENA2   CENA3   MINPROD SHTRIH
Потому что, например опенкарт не предусматривает три цены на товар.

так же в примере NAME=FULLNAME вроде везде.

Так же нет наименования категорий и производителей.

Почитайте тред, я писал требования к входным файлам. В идеале нужно три таблицы.

Но вообще это годный файл товара и из него можно сформировать наполнения для категории.

Update.

Ан, нет категории тут есть оказывается.

Это кто же такой умный, что флаги русскими буквами сделал?

Update.

Распарсил формат.

Осталась непонятка с ценами, названиями, и что такое UR?

Можно уже заливать это в магазин запросто, но это же будет длиннющая портянка в 244 категории!! Как люди ориентироваться будут?

И что за программка такие данные выплевывает?

Ссылка на комментарий
Поделиться на других сайтах


Ответ очевиден 1С =)))))) Из трех цен нужна ток третья и та потом будет вручную регулироваться. По поводу категорий я вот думаю их нада будет объединять как-то. Потому как например идет товар....1)удочки после пруты для спинингов и оно уже их в разные категории делит. А проще былоб наверн по производителям. Я вот что хотел узнать если например все залить в одну категорию а после я создам нужные яж смогу с этой первой общей переводить в новые созданные вручную? Кстате вчера рылся на офф сайте ОпенКарта и нарыл там модуль импорта-експорта под версию 1.4.7-1.4.8b http://www.opencart.com/index.php?route=extension/extension/info&extension_id=17&path=8 По ходу модуль весьма интересен но я еще пока его не разобрал что и как.

З.Ы. И былоб весьма актуально видеть этот модуль в первоначальной сборке опенкарта думаю этот модуль как не где нужен именно в веб магазинаг) Да и всякого рода модули подходящие под Русскоязычный сегмент нада былоб стырить на главную в роздел файлов ато как-то у нас тут пустовато)

Ссылка на комментарий
Поделиться на других сайтах


В столбце KOD по отношению к товару - не уникальные, да и вообще абы как написанный индексы. Вообще строки смахивающие на какой то артикул.Можно это залить один раз, но целостность поддерживать не получится.Нужно чтобы исходные данные имели столбец с уникальным индексом товара.

Ссылка на комментарий
Поделиться на других сайтах


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

Ссылка на комментарий
Поделиться на других сайтах


Я тут намылился приобрести 1С:Предприниматель на днях.Так что интеграция с 1С будет.Пойду погляжу чего за кусок.update.Кусок поглядел. Плохо что он в екселе - парсить ексель нет никакого желания. В этом смыле DBF лучше.Хорошо что в первом столбце что то похожее на индекс. Вопрос, это точно индекс товара или просто автонумерация строк при выводе из 1c в ексель?Плохо что нет категорий.

Ссылка на комментарий
Поделиться на других сайтах


Да понимаешь в этом и суть что товар который будет продаваться в моем магазине будет ити из канторы моего друга а он так себе юзер 1С..... Посему и получается что допросится у него толковой базы выборки с категориями не выходит = Ну ты знаешь коль ты говорить что будешь делать интеграцию из 1С и это будет в период месяц полтора два я могу подождать) Поскольку у меня в планах чтоб магазин стартанул гдет к новому году посему время пока ждет....

Ссылка на комментарий
Поделиться на других сайтах


  • 1 месяц спустя...

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.