カスタムモジュールのデータベーステーブルにノードフィールドを追加する方法

drupal.stackexchange https://drupal.stackexchange.com/questions/2315

  •  16-10-2019
  •  | 
  •  

質問

独自のカスタムモジュールを書いて、データベーステーブルを設計するとき、フィールドを使用したい場合は nid ノードを参照するには、モジュールに各ノードに何かを追加する必要があるため、モジュールのmymodule.installファイルにこれを実装するにはどうすればよいですか?

役に立ちましたか?

解決

ほとんどの場合、カスタムテーブルを追加したり、ノードを変更したりするのではなく、おそらくフィールドAPI(D6のCCKモジュール)を使用したいと思うでしょう。

カスタムテーブルを追加することは、非常にD5の方法でした。

これを行いたい場合は、使用してテーブルを定義する必要があります hook_schema() そして、mymodule_install()フックで呼び出すことができます drupal_install_schema() これにより、モジュールを表す新しいテーブルが作成されます。

スキーマは常に現在のスキーマを表す必要があることに言及する価値があります。列を追加する場合は、スキーマを変更してモジュールをインストールしている人が正しいスキーマを取得するようにするだけでなく、既存のユーザーが正しい新しいスキーマを取得できるようにテーブルを変更するための更新関数を記述します。

他のモジュールのテーブルを変更することは可能ですが、それは別の質問でカバーされるべきだと思います。

ライセンス: CC-BY-SA帰属
所属していません drupal.stackexchange
scroll top