パスに移動してオプションまたはオプション/admin/structure/types/manage/article/fields
を使用すると、フィールドが作成されますか、フィールドインスタンスが作成されますか、フィールドインスタンスが添付されますか?それらを区別する方法は?それでは、プログラムで、field_create_field、field_create_instanceおよびfield_attach APIをいつ使用するのでしょうか?Add new field
Add existing field
フィールドAPIドキュメントでは、管理UIのみに言及しており、フィールドとフィールドインスタンスの両方を作成するパスについては言及していません。それでわかりにくいです。理にかなっているかどうかさえわかりません。
これは、それを分かりやすく説明する必要がありますdikini.net/31.08.2010/...
—
クライヴ
通常の場合、追加する各フィールドはデータベースに新しいフィールドを作成し、既存のフィールドを追加すると、新しいテーブルは作成されず、既存のテーブルに追加されるだけです。
—
モハメッドシャミーム
@Mohammed Shameem、それではインスタンスはどうですか?ユースケースは何ですか?それとも、実際にはどこで使用しますか?
—
ユージンジェローム
目的が同じであるか、機能が同じになる場合は、常に同じフィールドインスタンスを使用することをお勧めします。たとえば、すべてに追加される同じ分類語彙を持つ異なるコンテンツタイプがあります。各コンテンツタイプに異なるフィールドを作成するよりも、すべてのコンテンツタイプに同じフィールドを追加することをお勧めします。内部的には、これはdrupalによって構築されるテーブルの数を減らします。語彙の検索が改善されます。
—
モハメッドシャミーム
そのため、パスに表示さ
—
ユージンジェローム
node/add/article
れるフィールドはフィールドインスタンスです(複数の異なるエンティティタイプで再利用されます)。そして、パスの/admin/structure/types/manage/article/fields
フィールドはフィールドです。データベースでは、私は、フィールドのインスタンステーブルを参照してくださいが、私は推測するしかfield_dataテーブルはありません、我々は最初のパスでフィールドを作成するとき、我々が得る/admin/structure/types/manage/article/fields
使用しますfield_create_field
。そして、インスタンスは、pathにあるバンドル(この場合は記事)にアタッチされますnode/add/article
。