Я думаю, что
фидов будет хорошим решением для вас. Вам нужно будет настроить импортеров для двух разных типов контента, и в зависимости от структуры ваших файлов вам может потребоваться запустить один и тот же файл, хотя оба импортера.
Для ссылки на узел вам нужно либо использовать преобразователь node_reference, который может существовать только в качестве патча в данный момент, либо написать свой собственный (что мы и сделали во второй половине дня).
В настоящее время мы делаем что-то симулирующее, импортируя списки аукционов по 60 000 и распределяя их по 30-40 событиям. Работает как шарм.
преобразователь ссылок на узлы:
http://drupal.org/node/724536
каналы:
http://drupal.org/project/feeds
Относительно того, почему вам может потребоваться импортировать один и тот же файл более одного раза, ниже приведен упрощенный пример того, как мы импортируем файл CSV, содержащий информацию об элементах и событиях в одном файле.
если у вас есть файл, имеющий следующую структуру:
|item_id|event_id|item_body |event_body |
|12231 | 123 | 'price $1'| 'on friday'|
|12232 | 123 | 'price $5'| 'on friday'|
мы запускаем это как для импортера типа содержимого события, так как для столбца * _id указан GUID, а тело импортируется как тело. Импортер событий запускается первым. Для элемента event_id используется, чтобы найти узел, который был создан для события, и ссылка на узел создана. Информация о типе контента, который не импортируется, игнорируется.
Только первый экземпляр event_id нуждается в теле или других полях, но некоторые из наших провайдеров дублируют данные, которые на самом деле не тормозят, насколько я помню. У нас также есть провайдеры, которые отправляют 2 отдельных файла 1 для событий и один для элементов, с элементами, содержащими столбец для идентификатора события.