Drupal - Импорт пользователей И данных веб-форм

У нас есть свежий сайт на Drupal 6. Большая часть сайта - это настраиваемая регистрационная форма, созданная с использованием модуля веб-формы, которую пользователи будут заполнять. Это не форма регистрации на сайте, а форма регистрации для мероприятия, которое люди будут посещать. Итак, ситуация такова, что у нас есть пользователи (не пользователи Drupal) и данные из прошлых событий, которые мы хотели бы импортировать.

Обычно, если пользователь уже присутствовал на этом мероприятии в прошлом, мы хотим импортировать его как нового пользователя в Drupal, поскольку это первый год, когда мы используем Drupal для процесса регистрации. У нас будет информация о пользователе и данные о прошлых событиях в файле CSV.

Итак, я знаю, что вы можете массово импортировать пользователей, и я знаю, что вы можете массово импортировать данные веб-форм, но можете ли вы делать и то, и другое одновременно? Я попытался поиграть с модулем импорта веб-форм, но он просто импортирует данные веб-формы, но не может связать их с конкретным пользователем, по крайней мере, насколько я видел. Вы можете указать SID, но не UID. Что-то мне подсказывает, что это может быть непростая задача, но я решил, что спрошу.


person Erich H.    schedule 30.10.2012    source источник


Ответы (1)


Обычно я использую простой скрипт PHP, который загружает Drupal и использует API для прямого импорта моих данных. Все, что вам обычно нужно для использования API, - это первые несколько строк файла index.php Drupal. Сначала я бы импортировал пользователей в таблицу пользователей. Затем возьмите сгенерированный UID и используйте его, чтобы вставить соответствующие данные веб-формы в таблицу отправки веб-форм.

person Chris Miller    schedule 31.10.2012
comment
Спасибо, Крис, я пойду по этому пути. Конечно, может быть сложно попытаться выяснить, какие данные куда попадают в таблицах веб-форм, поскольку существует несколько таблиц, но я разберусь. - person Erich H.; 06.11.2012
comment
После создания веб-формы, соответствующей вашим данным, вы вставляете свои данные в webform_submissions и webform_submitted_data. Вам понадобятся идентификаторы компонентов (cid) каждого поля. Попробуйте выполнить одну простую отправку и посмотрите, как эти данные сохраняются. - person Chris Miller; 06.11.2012