Уже не раз возникали вопросы относительно импорта товаров в Ubercart. Да и я не раз упоминал, что модуль есть и обещался его выложить, как только появиться свободное время.
Что ж, выкладываю – принимайте кому нужно. Улучшайте, кто умеет кодить
Модуль позволяет импортировать товары с картинками, с атрибутами и опциями публикации.
Файл node_import.zip - это сам модуль импорта модифицированный под ubercart.
Файл primery.zip - примеры файлов для импорта.
Урок по использованию >> (28 мб)
Обращаю внимание, что этот модуль обновлять нельзя иначе вы потеряете добавленный в него функционал.
Многое есть в уроке. Для тех у кого инет "не жирный" делюсь подробностями.
ВАЖНО - для корректной работы модуля, на момент импорта необходимо отключить отображение кнопки "Добавить в корзину", т.к. на шаге предпросмотра по ходу импорта данные кнопки будут конфликтовать с формой отправки данных. Если кто найдет более красивое решение этой проблемы - отпишитесь в комментариях, пжта.
Атрибуты
Для импорта по полной, просто добавляете в файл по 4 колонки под каждый атрибут. Например, вот такие, беру первые 2 атрибута по списку с моего тестового магазина (у вас будут свои):
Product attr.: Размер: 104-110: enabled
Product attr.: Размер: 104-110: cost
Product attr.: Размер: 104-110: ordering
Product attr.: Размер: 104-110: price
Product attr.: Размер: 104-110: weight
Product attr.: Размер: 107-114: enabled
Product attr.: Размер: 107-114: cost
Product attr.: Размер: 107-114: ordering
Product attr.: Размер: 107-114: price
Product attr.: Размер: 107-114: weight
и т.д. и т.п. В файле примеров увидите аналогичные колонки.
В уроке есть информация, но повторю этот момент еще раз.
Значения для атрибутов
enabled - указывает нужен атрибут или нет, ставится 1 или 0
cost - можно не использовать, т.е. 0 везде
ordering - тоже может быть пустым или 0
price - если выбирать этот атрибут, то как изменится цена надо указать
weight - можно не ставить.
ИЛИ КРАТКО
Если брать по минимуму можно использовать по две колонки под
каждый атрибут:
Product attr.: Размер: 104-110: enabled
Product attr.: Размер: 104-110: price
Product attr.: Размер: 107-114: enabled
Product attr.: Размер: 107-114: price
Готовимся к импорту
После того как создан файл для импорта его надо сохранить в формате CSV. Это лучше делать через Open Office в кодировке utf-8 и разделителями «запятая» и «кавычки», ИМХО.
Если кто хочет пользоваться Excell, то для импорта сохраняйте как "текст разделенной табуляцией", но полученный файл перед импортом надо обязательно конвертировать в utf-8. Иначе русский текст не импортируется.
Примерно так - остальное показано в уроке.
Как импортировать с картинками?
Они обязательно должны быть сначала загружены на сервер в папку files (по умолчанию) или в вашу согласно настроек движка.
Если в колонке для картинок в файле импорта указываете имя файла, например, kartinka.jpg, то этот файл должен быть обязательно в папке files!
Если же вы хотите рассортировать картинки продуктов по папкам, то надо сначала создать эти папки внутри files и затем положить туда все нужные картинки.
В колонке картинок при импорте тогда нужно указать не просто имя файла, а имя файла с папкой:
папка-1/kartinka.jpg
папка-1/kartinka2.jpg
папка-2/kartinka5.jpg
и т.д. и т.п.
Поле, отвечающее за вставку картинок, что в выпадающем списке
доступных полей, называется Image fid (field_image_cache)
В заключение - в модуле сделал есть защита от ошибок. Я сделал так, чтобы при наличии ошибок в файле импорта кнопка "продолжить" не появлялась пока все ошибки не исправлены.
Вроде все.
P.S. Прошу извинить за текст - правил в спешке, прямо из писем клиенту. Если увидите ошибки или вам кажется что-то надо поправить – дайте знать, пожалуйста, через личку или свяжитесь со мной через мой сайт Точка-старта: как открыть интернет магазин.
__________________________
Коллекция "маленьких" причин для больших дел... растем помаленьку
Вложение | Размер |
---|---|
node_import.zip | 53.68 КБ |
primery.zip | 25.28 КБ |
Комментарии
Возможно ли сделать уникальным не имя продукта, а его артикул (SKU) ???
Да и по имени продукта ерунда получается... Зайдите на avers26.ru Там раздел прайс лист, и в первую же категорию. Увидете много одинаковых продуктов. Что не случилось бы по SKU, так как он уникален для продукта.
Дело не во мне, а в 1с, из которой я делаю выгрузку. Я не в курсе почему у нас есть товар с одинаковым названием, но с разным артикулом. Но все таки артикул уникален, и хотелось бы что-бы он был уникален и в модуле импорта.
Значит не сможете переделать модуль импорта, чтобы sku был уникальным?
И еще одно, говорю ему при нахождении такой же ноды, обновлять её, но он пишет ошибку типо нода такая уже есть, и кнопку apply нажать нельзя.
При импорте прайса с 1000-х записями, импортируется только где-то 188, и белая страничка. С моим скриптом такого не наблюдалось.
К сожалению, как уже написал вам в письме, сейчас у меня нет острой необходимости расширять функционал модуля. Попробуйте обратиться к сообществу здесь на сайте, может кто возьмется.
получается так
Это посмотрю. Вообще странно, не должно такого быть.
Попробуйте заглянуть в логи сервера, что пишет? вероятней всего памяти не хватает.
Так если у вас есть познания в php и даже "модуль" свой писали, то попробуйте усовершенствовать мой модуль. Думаю вам не только я буду благодарен
У меня плохо получается писать красивые модули... Я в объектно-ориентированном программировании сразу же гружусь. В логи сервера не могу заглянуть, сервер не мой. А в логах друпала тихо.
Видемо у меня хостинг г... На локалхосте импорт 1200 продуктов прошел нормально, с одной заминкой, сказал что время исполнения скрипта вышло, увеличил, и все окей. Видемо у хостера такая же проблема.
Не подскажете возможно ли решить данную задачу
http://drupal.ru/node/17725
SlavaGolitsin, я же вам уже и личку отписался и в указанной вами ветке тоже писал - возможно. Свяжитесь со мной по E-mail обсудим подробности и цену. Только сильно не затягивайте - пока есть время можно обсудить. Если договоримся, то работу начну в примерно в первой половине сентября. Раньше никак пока, если только за внеурочное накините
а можно скачать видео урок?, а то только просмотр онлайн и всё, если несложно киньте пожалуйста ссылка для скачивания
В тексте дана прямая ссылка на файл, можно загружать. Сохраните его через контекстное меню браузера (правая кнопка мыши на ссылке "Сохранить объект как...") или через любой загрузчик файлов.
А если несколько картинок нужно добавить в imagefield (поле multiple values)? как импортировать в таком случае продукты? как я понял с этим модулем можно только одну картинку закидывать в поле... как быть?
Пока данный функционал не предполагаю добавлять. Как вариант, можете попробовать xml-экспорт товаров через встроенный модуль магазина, а затем, добавив поля с дополнительными картинками в xml-файл, импортировать его. Опять же встроенным модулем, что идет с магазином по умолчанию.
Понятно, просто в node_import 5-1.8 появилась возможность(а может и была возможность, только сейчас познакомился с этим модулем) множественного импорта... жаль что в Вашей разработке этого нет, но все равно очень полезный модуль)
Спасибо, очень полезный модуль, а под шестерку не будете делать? уже есть dev версия node import. К сожалению полностью порт не смогу оплатить но могу проспонсировать немного
пока не планирую, а там посмотрим. Для начала пусть хотя бы ubercart стабильная версия выйдет под 6-ку
Во первых спасибо за модуль!
Но вот заметил, что обновление позиций почему то обновляет все поля ноды.
То есть поля которые не существуют в импортируемом файле.
Очень не удобно для работы массовым обновлением цен,наличия,количества не трогая описания, категории.
Ну и для конечного продукта наверное было бы хорошо импортировать по 100 позиций. Ибо при импорте более 1000 выбрасывает по таймауту, к сожалению не везде можно добиться увеличения.
При импорте 320 позиций товара(файл 150 кб) вылетает ошибка...
Fatal error: Cannot access empty property in Z:\home\victoria\www\sites\all\modules\node_import\supported\cck\content.inc on line 261
из 320 успешно импортируются только 138... не пойму в чем проблема!!!
Здраствуйте. Не могли бы поправить последнюю версию node_import? обновил сайт, все модули которые можно было обновить, теперь начинается импорт и вылетает ошибка что нет функции ffile_open чтоли.
Если не можете бесплатно, скажите сколько заплатить. Если платно то было бы не плохо для 6 друпала модуль сделать.
Да давайте скинемся на порт для 6 друпала!!!
Я за. Осталось слово за тем кто сделает.
Ребят, мне сейчас реально некогда поддержкой модуля заниматься. Выложил с целью поделится. Вот.
Обращаю внимание всех - не обновляйте модуль, не будет работать! Поскольку вносились правки в код оригинашльного модуля.
Если кто-то владеет английским, то попробуйте связаться с разработчиком оригинального модуля http://drupal.org/project/node_import - может примет к сведению необходимость интеграции с ubercart, тем более что какие-то основы уже есть.
Модуль прикольный.. Тока возник вопрос по разнесению по группам (терминов). Есть ли хитрости в заполнении поля "Taxonomy: Catalog" ? Меня интересует получение дерева каталога из CSV без ручного заведения терминов..
в видео-уроке есть на эту тему. Плюс смотрите пример файлов для импорта.
Разделять термины надо знаком |
Просмотрел видео несколько раз, но не помогло... Меня интересует: "Марка авто -- Ауди -- 100" один товар и "Марка авто -- Ауди -- А6" другой, но у меня получается только в главной "начале" заводить категории без ПОД-категорий..
В примере "раздел 1|раздел 2|раздел 3" получается 3 категории в главной, а мне нужно получить подкатегории "раздел 1/раздел 2/раздел 3"
Ага, понятно. Подкатегории не предусмотрены, к сожалению.
Агаааа.. Спасибо
Как вариант можно импортировать все термины в словарь единым списком, а уже затем использовать модуль http://drupal.org/project/taxonomy_manager Он позволяет управлять терминами такосномии массово, в т.ч. менять подчиненность.
Спасибо, щас попробую...
А для большого количества товара и категорий что выбрать: UC или E-commerce ? А то ubercart интуитивно понятен, а екоммерц пару раз пытался настроить и бросал...
Ничего на этот счет сказать не могу.
Народ всем привет. Вот решил настроить импорт данных в Ubercart, через Import Node. Все понятно но споткнулся сразу на втором шаге:
Почему нет полей продукта в списке ???? Каким образом заставить их там появиться??
Судя по всему вы используете оригинальный модуль, а он не поддерживает ubercart. Если у вас 5-версия Друпал, то берите мою модификацию модуля и пользуйтесь.
Не обновляйте, иначе не будет работать.
Огромное Спасибо!!! Действительно проблема была именно в этом. Все работает.
А сколько по времени у Вас занимает импорт одного файла? просто у меня в файле 120 единиц товара (с 35 атрибутами у каждого) импортируется порядка 30 минут. мне кажется, что слишком долго. размер файла для экспорта порядка 100КБ. может у меня что-нибудь не так... а как у Вас?
Ну или почти все. НЕ получается импортировать картинку. Скопировал все как пололжено., в папку files, (проверил именно эта папка установлена в настройках), введется ли логирование ошибок модуля импорта?? как выяснить почему он не видит файлы картинок для импорта.?
Я пробовал осуществлять импорт только 5 товаров для теста... я только пытаюсь развернуть магазин, поэтому щас тесты и настройка...как налажу импорт с картинками тогда буду эксперементировать на больших объемах данных...
Все разобрался нужон было в настройках продукта, а не ядра прописать папку files. По умолчанию поле было пустое.
А не подскажете что вы меняли в самом модуле? Пока заметил только что в указали путь на ваш inc файл, что-то еще?
Не помню уже. Попробуйте путем сранения файлов с оригинальным модулем найти отличия. А может заодно и новая версия у вас получится
спасибо за модуль. есть пара моментов, из-за которых 2 дня провозился. расскажу для тех, кто будет его использовать.
1. как было указано выше, путь надо указывать не только в "файловой системе", но и в свойствах типа данных "продукт", в настройках поля 'image'.
2. основные для меня грабли были в том, что у меня часть товаров с картинками, часть - без. В этом случае надо сначала импортировать все товары, но не указывать путь к картинке (ну или отобрать товары без картинки). затем отобрать те товары, у которых картинка есть, и импортировать их, выбрав опцию при импорте "обновлять существующие позиции при совпадении".
Отличная новость! gumk, спасибо за участие.
Да, новость то отличная, но пока в нем, к сожалению нет возможности обновления (((
У меня аналогичная проблема даже с тестовыми примерами приложенными к модулю: из 5ти импортируется только 1.
пытаюсь установить на денвере.
Может кто подскажет в чём может быть дело?
Спасибо за модуль. Еще не перенес весь каталог, но протестировал на маленьких файлах, это потрясающе просто:)
появились проблемы, разбил файл по 100 записей, попробовал импортировать, после всех шагов, когда должен происходить импорт, сразу же белый экран, как будто памяти не хватило, так как делаю на локалке, выделил памяти 300 метров, и все равно не получается успевает импортировать 2-3 товара всего. В чем может быть проблема?
Работаю в 6-ке.
1. Делаю контрольный файл из одной строчки.
2. Далее по пунктам.
На третьем шаге:
Жму Next и получаю:
Fatal error: Call to undefined function uc_product_node_is_product() in W:\...\sites\all\modules\node_import\supported\ubercart\uc_product.inc on line 15
Гляжу внутрь uc_product.inc:
В чем ошибка? Что делать?
http://www.ubercart.org/forum/development/12605/uc_product_node_is_produ...
в последних релизах ubercart эту функцию uc_product_node_is_product переименовали в uc_product_is_product
соотв. подправь файл /node_import/supported/ubercart/uc_product.inc
у меня заработало))
Модуль только для Drupal 5
Это почему же только для 5-ки?
Использую для 6-ки соотв.модуль.
спасибо за модуль -)
будем тестировать
anreyyyy, спасибо за оперативную информацию, действительно работает но не все.
Фишка этого модуля была в том, что можно не только добавлять новые товары но и обновлять существующие. А вот как обновить товары в 6-й версии не пойму.
Не вижу там нужных настроек.
VasyOK
по поводу обновления ничего сказать не могу, не пользовался
anreyyyy, помоему о том как обновлять информацию модулем node import написано здесь
http://drupal.org/node/422282
Вы вроде английский и програмирование знаете лучше чем я. Не подскажете о чем там.
Мозг потихонечку начинает закипать...
Модуль ноде_импорт умолчательный таки работает с уберкартом или нет?
Там уже патчей наделали десяток.... Кто нибудь разобрался? Есть у кого рабочая верси ямодуля под 6ку(с поддержкой картинок)?
Хм, вроде получилось
Поставил сейчас текущую дев версию 6.x-1.x-dev 2009-Oct-10
После ошибок узнал что нужно выполнить после установки модуля обновление ( http://drupal.org/node/454204 ), сделал файл, на одном из шагов указал соответствие.
Пока что проверил только с одним продуктом, но вроде все вышло нормально...
Подробнее после более тщательных тестов сообщу, что получилось.
P.Selfin@drupal.org
как там тесты твои? есть приятные результаты?
Результаты есть у меня. Без Уберкарта писал http://www.drupal.ru/node/38194. Да и модуль node update вышел.
С Уберкартом http://www.drupal.ru/node/46221
ок, спасибо большое. Вчера взялся за изучение магазина на drupal
Буду читать еще твои мануалы
если повторно делаю, то пока не удалить картинки из базы, импорт не происходит, ругается что в бд они есть.
возможно ли настроить импорт, чтобы два разных товара ссылались на одну картинку?
Это элементарно.
1. Закачиваем картинки по FTP в папку указываемую в imagefield поле.
2. И указываем в табличном файле для разных товаров одну и туже картинку.
ps 6й друпал
Node_import проверяет : если картинка хоть раз загружалась (т.е. она есть в базе в талбице files), то node_import ругнется на это и не загрузит товар.
вот тут два точно тоже это спрашивают.
кстати если не через импорт добавлять товары, то одну и туже картинку можно добавлять к одному и к нескольким товарам(
а через node_import нельзя((
если перед импортом удалить все данные о файлах из таблице files (кроме csv-файла), то картинки импортируются, но если у двух товаров одна картинка, то второй товар не импортируется в уберкарт.
жесть!
Как вариант добавьте в тип товар дополнительное imafgefield поле и для него указывайте файл изображения. Тогда получается?
пробовал так, тоже самое:
вручную один и тотже файл добавляется в это поле, через import тотже файл нет
А можно ли реализовать следующее - в 1С предприятие есть уникальный ID у каждого товара, вот можно ли по ID привязать термины таксономии и описание терминов при импорте на сайт?