Предлагаю вашему вниманию простой модуль импорта товаров из таблицы MS Excel в E-Commerce.
Модуль импортирует данные из обычного формата MS Excel *.xls (не *.xml и не *.csv) в базу Drupal как ноды типа "product" с ценой и прикрепляет их к термину таксономии, созданому из записи в файле *.xls в которой нет цены.
Модуль написан “на заказ” с ограничением по срокам, поэтому код не совсем оптимален и плохо документирован.
Доработку делать не буду так как он соответствует требованиям тз.
На вопросы с удовольствием отвечу.
Зависимости модуля: E-Commerce и Таксономия.
Работа с модулем:
Сначала настраиваем е-commerce и создаем отдельный словарь для хранения брендов (в моём случае, а может быть типы товаров или что-то ещё)
Потом заходим на страницу http://somehost/admin/settings/decor_import и указываем поле в таблице для названия товара, и поле для цены (стандартный прайс из 1С).
Далее количество записей при предпросмотре (это ещё не импорт а предпросмотр для проверки верности таблицы) установить желательно 20-50.
“Количество записей для обработки” это число обработанных записей за один шаг импорта , сильно увлекаться не стоит, а то хостер отрубит процесс импорта по тайм-лимиту( у меня стоит 500).
Словарь брендов – понятно вроде.
Тип материала – это подтип в системе e-commerce то есть тип всегда “product” а подтип к примеру может быть “generic”.
Фильтр вроде тоже должно быть понятно.
Всё! Настройка закончена.
Далее заходим на страницу http://somehost/decor_import и импортируем что-то куда-то.
Во вложении сам модуль, и пример прайс листа(чтоб было всё понятно что откуда)
----------------------------------
З.Ы.
за русский не ругайте - не знаю букафф
Вложение | Размер |
---|---|
![]() | 2.76 КБ |
![]() | 20.35 КБ |
Комментарии
Спасибо. А почему нужно было делать модуль вручную?
Не было готового модуля или были особые требования у заказчиков?
Вы не думали выложить этот модуль на .орг?
Вручную потому что не нашел подходящего (даже приближенно подходящего).
А насчет *.org в этом модуле я не регекспил входние данные названий и брендов товаров, что не соответствует стандарту кодинга drupal. Ну и ещё много чего не совсем по-стандарту. Тоесть модуль безопасен для личного использования, а если дать право импортировать плохому человеку, то возможны варианты xss.
пасибки
А у меня при загрузке прайса после нажатия на кнопку Дальше вылазит "Невозможно отобразить страницу" и ссылка
http://localhost/decor_import/xl_upload
Не подскажете где что подправить надо?
ерор лог бы...
я так понял во время загрузки на сервак прайса...
А файловая система указана в настройках?(модуль не пользуется средствами upload, в силу рарных проблем с совместимостью в опере, но загружает файл туда-же куда и upload)
>А файловая система указана в настройках?
А это где?
Сразу оговорюсь что с друпалом только начинаю знакомство.
Так вот, если оставить так как у вас сейчас сделано, то
он будет пытаться загрузить страницу http://localhost/decor_import/xl_upload которой естественно нет на сервере.
Я тупо дописал в скрипте во всех form action
вместо "
Вместо action="/decor_import/xl_upload"
action="/mysite/index.php?q=decor_import/xl_upload" тогда работает
да сорри ...делал только под режим "чистые ссылки", проверку не вводил так как пользуюсь Russian installer который сам включает "чистые ссылки".
Если есть "мод реврайт" то можно включить чистые ссылки в
http://some-site/?q=admin/settings/clean-urls
А также нет проверки на "basedir" - т. е. сайт размещён в корне.
Спасибо за модуль, и спасибо что предупредили о безопасности.
У меня в странице настроек на отображается список "Тип материала для хранения продуктов" Не знаю правильно ли сделал, но исправляется если вместо
$tmp_type_list[$i]=$value->name;
поставить
$tmp_type_list[$i]=$value;
И еще один вопрос. Почему то после загрузки цены отсутствуют. Что может быть?
тип материала нужно создать в екомерц или выбрать из его списка, это не тип материала от друпал
Вероятно екомерц не настроен.
product_get_ptypes() даёт массив обектов типа продуктов екомерц
$value является (должно быть) объектом, по print_r($value); выводится как объект
и при настроеном екомерц в объект ноды добавится цена
PS
екомерц на котором сайт работает 5.x-4.0-alpha6
>екомерц на котором сайт работает 5.x-4.0-alpha6
Теперь все ясно. Да на этом работает, а вот на ecommerce-5.x-3.4 уже нет.
Нет в екомерце стандартизированого апи поэтому все его модули по версиям раскиданы,
чтоб поправить модуль нужно поковырять екомерц на придмет ценыв ноде через print_r()
Подскажите в E-Commerce можно создать сначала группу товаров (с картинками?) а потом уже списки товаров?
к примеру - услуги а затем подгруппы и только потом чтобы выводились список товаров.
И группа другая к примеру - обувь - затем 1)ботинки 2) Сапоги 3) Унты и уже потом список товара в каждой поддгрупе
В E-Commerce есть возможность выставить счет вместо наложного платежа?
А если кпримеру бронируеш номер можно посавить возможность брони на указанный период?
спасибо большое, потестирую
Я писал вот тут http://www.drupal.ru/node/10851 Оказывается что в этом виноват данный модуль.
Памяти 16Мб очень мало. У меня при "стандартном"(для меня) наборе модулей менее 19 Мб всегда "белый экран смерти", а так всегда от 24 до 32мб.
Тут дело наверно не в памяти.
У меня были включены: Autolocale,Taxonomy Menu,Views UI,Cart,Tangible Product
Модуль decor_import отключен. И все работало.
Потом я отключил все вышеперечисленные модули и включил decor_import. Как результат белый экран.
Спасибо, будем пробовать