Drupalは初めてです。
test
というテーブルに2つのフィールド(int)idと(varchar)textがありますtest
どうすればそれができるのか知りたいのですが。私はこれについて研究を開始する方法を本当に知りません。
私が見つけた最も近いものは Overrideing user login だと思います。私はそれが私がやりたいことをしていると思いますが、前処理関数ではデータベースに挿入しなければなりません。ここで質問Drupalからデータベースに挿入するにはどうすればよいですか?
誰かが私の考えをクリアしたり、良い参考文献を私に指摘したりできますか?.
ありがとう。
これを行うためにログインプロセスを実際にオーバーライドする必要はありません。ユーザーモジュールは、新しいユーザーが作成されるたびに呼び出されるフック( hook_user_insert()
)を提供します。
データベースへの挿入に関する限り、最初に調べるのに最適な場所は データベースアブストラクションレイヤーのドキュメント で、利用可能なさまざまなデータベースメソッドについて詳しく説明しています。
この特定のケースでは、探している db_insert()
関数です。コードは次のようになります。
function MYMODULE_user_insert(&$edit, $account, $category) {
db_insert('custom_table_name')
->fields(array(
'id' => $account->uid,
'text' => 'some text'
))
->execute();
}
このコードはカスタムモジュール内に配置されます。これらのいずれかを作成することに慣れていない場合は、 モジュール開発者用ガイド を確認してください。