Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

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


Recommended Posts

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

Link to comment
Share on other sites


По поводу подгдержания актуальности. Модуль экспорт/импорт, ик же умеет изменять когдачесто товаров на склагде.

Link to comment
Share on other sites


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

Link to comment
Share on other sites


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

ОК. За воскресенье напишу инструкцию для использования, добавлю комменириев в код и выложу.
Link to comment
Share on other sites


  • 4 weeks later...

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

Link to comment
Share on other sites


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

Link to comment
Share on other sites


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

Link to comment
Share on other sites


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

Link to comment
Share on other sites


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

Link to comment
Share on other sites


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

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

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

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

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

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

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

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

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

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

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

Link to comment
Share on other sites


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

Link to comment
Share on other sites


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

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

Дык ради этого я и затевал всё.
Link to comment
Share on other sites


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

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

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


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

Link to comment
Share on other sites


  • 4 weeks later...

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

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

Link to comment
Share on other sites


Скрипт обновляет то, что есть и добавляет новые категории/товары/производителей.

Посмотрю вашу базу.

Link to comment
Share on other sites


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

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

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

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

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

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

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

Update.

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

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

Update.

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

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

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

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

Link to comment
Share on other sites


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

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

Link to comment
Share on other sites


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

Link to comment
Share on other sites


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

Link to comment
Share on other sites


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

Link to comment
Share on other sites


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

Link to comment
Share on other sites


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

Link to comment
Share on other sites


  • 1 month later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.