Поводом к написанию этой заметки послужил видео урок Михаила Кислицина о том, как загонять товары на сайт с Drupal+Ubercart с помощью пропатченого модуля Node Import http://www.drupal.ru/node/17859. ИМХО самя крутая особенность модуля была возможность не только добавления товаров на сайт, но и обновления уже существующих.
Одновременно с этим не устраивало следующее:
1) Ubercart нужен далеко не всем
2) Описывался модуль для Drupal 5.
А что делать если нужно добавлять товары без Ubercart? Или не товары, а книги в библиотеке, студентов в институте?
Решение нашлось на drupal.org.
Приведу пример того, как это решение работает. К примеру, есть сайт на котором информация о сантехнических товарах. Товаров много (хотя в примере всего 4 шт), цены на товары меняются часто. Поэтому имеется табличный файл с товарами и ценами из которого берутся данные для сайта.
Итак начнем.
0. Патчинг модуля Image Import.
1) Качаем Модуль Node Import версий 6.x-1.0-rc4 6.x-1.x-dev (у меня получилось с dev)
2) Читаем беседу этих умных людей http://drupal.org/node/422282
В этой беседе несколько вариантов патча модуля.
Там же в посте 13 есть ссылка на файл http://drupal.org/files/issues/node_import_update-422282_0.patch. Там написано, какие файлы нужно изменить в модуле, т.е.
supported/node.inc
node_import.inc
Знаком + отмечено какие строки добавить, знаком - какие удалить.
Пропатченый модуль прилагаю к посту.
1. Подготовка к импорту. С помощью CCK создадим новый тип материалов Товар. К этому типу прибавим: