カスタムモジュールのデータベーステーブルにノードフィールドを追加する方法
-
16-10-2019 - |
質問
独自のカスタムモジュールを書いて、データベーステーブルを設計するとき、フィールドを使用したい場合は nid
ノードを参照するには、モジュールに各ノードに何かを追加する必要があるため、モジュールのmymodule.installファイルにこれを実装するにはどうすればよいですか?
解決
ほとんどの場合、カスタムテーブルを追加したり、ノードを変更したりするのではなく、おそらくフィールドAPI(D6のCCKモジュール)を使用したいと思うでしょう。
カスタムテーブルを追加することは、非常にD5の方法でした。
これを行いたい場合は、使用してテーブルを定義する必要があります hook_schema()
そして、mymodule_install()フックで呼び出すことができます drupal_install_schema()
これにより、モジュールを表す新しいテーブルが作成されます。
スキーマは常に現在のスキーマを表す必要があることに言及する価値があります。列を追加する場合は、スキーマを変更してモジュールをインストールしている人が正しいスキーマを取得するようにするだけでなく、既存のユーザーが正しい新しいスキーマを取得できるようにテーブルを変更するための更新関数を記述します。
他のモジュールのテーブルを変更することは可能ですが、それは別の質問でカバーされるべきだと思います。
所属していません drupal.stackexchange