ご挨拶。 1つのプロジェクトで作業する場合、ユーザー名、パスワード、その他の情報を使用して、CSVファイルから約50,000人のユーザーを登録する必要がありました。 カスタマイズが少なすぎるため、
既存のソリューションは適合しませんでした。 私は自分の「自転車」を書かなければなりませんでした。 それからアイデアが出て、コミュニティと共有しました。 Drupal.orgでの公開はかなり混乱した手順なので、Habrに書くことにしました。 結局のところ、私の「自転車」は特定のタスクに適していますが、普遍的ではありません。 どのように、何をすべきかを少し「熟考」しなければなりませんでした。 そこで、BURモジュール(バルクユーザー登録)を紹介します。
モジュールの機能:
1.ファイル形式の設定:

2.インポートされたファイルのフィールドをソートします。

3.自身をインポートします。

モジュールはどのように機能しますか?
次の構造を持つテーブルがあります。
CREATE TABLE `drupal7_bur_fields_table` ( `bur_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'Field ID', `bur_title` varchar(50) NOT NULL COMMENT 'Human-friendly title', `bur_user_field` varchar(50) NOT NULL COMMENT 'The field of conformance to the field in the user table', `bur_weight` smallint(6) NOT NULL COMMENT 'The serial number of the field', `bur_is_data` smallint(6) NOT NULL COMMENT 'Whether the field will be used in array 'data'', `bur_dateizm` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Date of change', PRIMARY KEY (`bur_id`), KEY `bur_weight` (`bur_weight`), KEY `bur_is_data` (`bur_is_data`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
このテーブルには、インポートされたファイルの構造に関する情報が含まれています。 すなわち:
- ファイル内のフィールドとユーザーテーブルの対応するフィールドとの対応。
- ファイル内のこれらの同じフィールドの順序
また、任意のファイルフィールドを$ edit ['data']配列に配置できます。 これを行うには、フィールドを作成するときに「データ」を選択し、情報を追加するキー/名前を指定します。

ファイルが初めてインポートされるとき、このファイルの構造に一致する一時テーブルが作成されます。
次に、バッチAPIを使用して
user_save関数を使用して、ユーザーをシステムに登録します。 ファイルが指定されていない場合、以前に追加されなかった一時テーブルのレコードが追加されます。
インポートするとき、新しいユーザーを作成するときに使用される追加のパラメーターを指定できます。

そうそう! これまでのところ、ソースファイルのエンコードはUTF-8のみである必要があります。 パスワードは
ハッシュしないでください。 saltでハッシュ化されたパスワードを使用する場合は、user_save関数コードを取得して、ハッシュし、「salt」をパスワードに追加するコードを「破棄」できます。
モジュールは
ここからダウンロードでき
ます 。 このためにGit Hubでアカウントを作成しました。 ソースコードを見ることができるように、モジュールファイルを個別にダウンロードする方法についてはまだ真実がわかっていません。 明日にお任せください。
そう考えると、小さな変更を加えたこのモジュールを使用して、他のテーブルのデータを「入力」できます。
モジュールの作成時に、次の材料が使用されました。
モジュールはBSDでライセンスされています。
PS私は自分をプログラマーとは考えていません(私はすでにこれに気付いています)、まだまだ先が長いので、コードに関するすべてのコメント、実装は大歓迎です。
PPS Drupalが大好きです。
UPD 1:ソースコードを追加しました。
UPD 2 03/20/2015バージョン1.0.1に更新