Пользователь Expression Engine Импорт XML Пользовательские поля - PullRequest
0 голосов
/ 03 ноября 2011

У меня есть документ Excel, содержащий сведения о 2000 пользователях, которые необходимо импортировать как члены в Expression Engine - с помощью утилиты импорта членов.

С чего мне начать?

Первая проблема - преобразование документа Excel в формат XML.

Вторая проблема - включая более 60 пользовательских полей.

Третья проблема - обеспечение того, чтобы у каждого пользователя было уникальное имя пользователя, имя экрана, пароль, salt, unique_id и crypt_key.

Любая помощь высоко ценится.

Ответы [ 4 ]

1 голос
/ 22 ноября 2011

Если вы в порядке с коммерческими аддонами, вы можете использовать комбинацию Zoo Visitor и DataGrab Эндрю Уивера * для этого. Сначала настройте Zoo Visitor и создайте поля в канале Zoo Visitor для всех данных, которые вы хотите импортировать. Затем используйте DataGrab для импорта ваших записей в канал. Поскольку Zoo Visitor автоматически создает участников при создании записи в своем канале, вы получите как участников, так и записи канала при запуске импорта.

Если это одноразовая вещь, и вы хотите, чтобы все данные были в полях участников (а не в полях каналов, как это делает ZV), вы можете легко сделать несколько дополнительных шагов. Создайте нужные вам поля участников, выполните быстрый запрос непосредственно к базе данных, чтобы ОБНОВИТЬ все поля участников из соответствующих полей канала, а затем уничтожьте канал и удалите Zoo Visitor и DataGrab. (Если импорт будет обычным делом, я бы посоветовал пропустить эту часть и вместо этого оставить в Zoo Visitor и каналах.)

1 голос
/ 08 ноября 2011

Я работал в.

Первая проблема - преобразование документа Excel в формат XML.

Создайте схему XML, затем в Excel> вкладка «Разработчик»> «Источник»> «Карты XML»> «Перетащите карту» для A: 1, скопируйте и вставьте готовые данные на вкладке в A: 2

Вторая проблема - в том числе более 60 пользовательских полей.

В EE, если вы просто оставите флажок «Создать настраиваемые поля» незаполненным - все настраиваемые поля элементов / теги XML будут вставлены соответствующим образом.

Третья проблема - обеспечение того, чтобы у каждого пользователя было уникальное имя пользователя, имя экрана, пароль, salt, unique_id и crypt_key.

Используйте это - http://dosysadminsdream.wordpress.com/2011/07/01/generating-random-passwords-in-excel/ - для создания модуля в Excel VB для паролей. Убедитесь, что у вашего XML есть атрибут type = 'text' в теге пароля, EE сделает MD5 самостоятельно.

1 голос
/ 03 ноября 2011

Я бы предложил обойти утилиту Member Import и написать собственный скрипт PHP, который пишет прямо в базу данных. Вы можете экспортировать документ Excel в CSV и использовать что-то вроде parsecsv , чтобы разобрать его в массив PHP.

Просто сначала настройте все свои пользовательские поля элементов, добавьте несколько примеров элементов вручную, а затем просмотрите таблицы базы данных exp_member_ *, чтобы увидеть, как организованы данные. Вы можете основывать свои сценарии INSERTS на этом.

Если вы пишете этот пользовательский скрипт как модуль EE или плагин (или просто как шаблон с поддержкой PHP), вы можете обойти настройку соединений с базой данных и использовать Класс базы данных для ваших вставок.

0 голосов
/ 03 ноября 2011

Возможно, вы можете использовать Zoo Visitor для управления вашим участником и импортировать с помощью DataGrab .

...