Видео-урок и модуль импорта для Ubercart
Прислано: WiseMan
вт, 05/08/2008 - 19:54
Уже не раз возникали вопросы относительно импорта товаров в 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 кб |
- WiseMan's blog
- Для комментирования войдите или зарегистрируйтесь
Возможно ли сделать уникальным не имя продукта, а его артикул (SKU) ???
- Для комментирования войдите или зарегистрируйтесь
Да и по имени продукта ерунда получается... Зайдите на avers26.ru Там раздел прайс лист, и в первую же категорию. Увидете много одинаковых продуктов. Что не случилось бы по SKU, так как он уникален для продукта.
- Для комментирования войдите или зарегистрируйтесь
Дело не во мне, а в 1с, из которой я делаю выгрузку. Я не в курсе почему у нас есть товар с одинаковым названием, но с разным артикулом. Но все таки артикул уникален, и хотелось бы что-бы он был уникален и в модуле импорта.
- Для комментирования войдите или зарегистрируйтесь
Значит не сможете переделать модуль импорта, чтобы sku был уникальным? :(
- Для комментирования войдите или зарегистрируйтесь
И еще одно, говорю ему при нахождении такой же ноды, обновлять её, но он пишет ошибку типо нода такая уже есть, и кнопку apply нажать нельзя.
- Для комментирования войдите или зарегистрируйтесь
При импорте прайса с 1000-х записями, импортируется только где-то 188, и белая страничка. С моим скриптом такого не наблюдалось.
- Для комментирования войдите или зарегистрируйтесь
Дело не во мне, а в 1с, из которой я делаю выгрузку. Я не в курсе почему у нас есть товар с одинаковым названием, но с разным артикулом. Но все таки артикул уникален, и хотелось бы что-бы он был уникален и в модуле импорта.
К сожалению, как уже написал вам в письме, сейчас у меня нет острой необходимости расширять функционал модуля. Попробуйте обратиться к сообществу здесь на сайте, может кто возьмется.
Значит не сможете переделать модуль импорта, чтобы sku был уникальным? :(
получается так :(
И еще одно, говорю ему при нахождении такой же ноды, обновлять её, но он пишет ошибку типо нода такая уже есть, и кнопку apply нажать нельзя.
Это посмотрю. Вообще странно, не должно такого быть.
При импорте прайса с 1000-х записями, импортируется только где-то 188, и белая страничка. С моим скриптом такого не наблюдалось.
Попробуйте заглянуть в логи сервера, что пишет? вероятней всего памяти не хватает.
Так если у вас есть познания в php и даже "модуль" свой писали, то попробуйте усовершенствовать мой модуль. Думаю вам не только я буду благодарен ;)
- Для комментирования войдите или зарегистрируйтесь
У меня плохо получается писать красивые модули... Я в объектно-ориентированном программировании сразу же гружусь. В логи сервера не могу заглянуть, сервер не мой. А в логах друпала тихо.
- Для комментирования войдите или зарегистрируйтесь
Видемо у меня хостинг г... На локалхосте импорт 1200 продуктов прошел нормально, с одной заминкой, сказал что время исполнения скрипта вышло, увеличил, и все окей. Видемо у хостера такая же проблема.
- Для комментирования войдите или зарегистрируйтесь
Не подскажете возможно ли решить данную задачу
- Для комментирования войдите или зарегистрируйтесь
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. основные для меня грабли были в том, что у меня часть товаров с картинками, часть - без. В этом случае надо сначала импортировать все товары, но не указывать путь к картинке (ну или отобрать товары без картинки). затем отобрать те товары, у которых картинка есть, и импортировать их, выбрав опцию при импорте "обновлять существующие позиции при совпадении".
- Для комментирования войдите или зарегистрируйтесь
Не помню уже. Попробуйте путем сранения файлов с оригинальным модулем найти отличия. А может заодно и новая версия у вас получится ;)
1,5 месяца назад написал создателям node import - итог сегодня появился релиз с поддержкой ubercart!!! пойду пробовать!!!
- Для комментирования войдите или зарегистрируйтесь
Отличная новость! gumk, спасибо за участие.
- Для комментирования войдите или зарегистрируйтесь
Да, новость то отличная, но пока в нем, к сожалению нет возможности обновления (((
- Для комментирования войдите или зарегистрируйтесь
При импорте 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... не пойму в чем проблема!!!
У меня аналогичная проблема даже с тестовыми примерами приложенными к модулю: из 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:

В чем ошибка? Что делать?
- Для комментирования войдите или зарегистрируйтесь
Модуль только для Drupal 5
- Для комментирования войдите или зарегистрируйтесь









Комментарии