2011-12-07 15 views
1

カスタムモジュールを使用してエンティティを作成しました。このエンティティにはバンドルがなく、完全にうまく作成されます。 entity_get_infoは、バンドルを持つ必要はないと言います。Drupalでは、バンドルを持たないエンティティにフィールドを関連付けることはできませんか?

次に、field_create_fieldを使用してエンティティ参照のフィールドを作成します。これも問題なく動作します。今、私は私のカスタムエンティティにインスタンスとしてこのフィールドを関連付けたいと私は(バンドルを指定せずに)field_create_instanceを呼び出すときに、私はというエラーを取得するとき:

私はそのバンドルを見に行く

drupal FieldException: Attempt to create an instance of field without a bundle

が必要ですfield_config_instanceのフィールド。エンティティと同じ名前のバンドルを指定しようとしましたが、それも私のためには機能しませんでした。

Notice: Undefined index: target_bundles in EntityReferenceHandler_base->buildEntityFieldQuery() (line 174 of /Applications/MAMP/htdocs/MYPROJECT/sites/all/modules/entityreference/handler/base.inc).

すべてのヘルプは高く評価されます:実際に、それは私がfield_attach_formを行うとき、私は別のエラーを取得/編集フォームの追加インスタンスを作成しましたが、エンティティの

答えて

3

フィールドのインスタンスを作成するときは、バンドル名を指定する必要があります。エンティティ用のバンドルがない場合は、デフォルトでエンティティの名前と同じ名前のバンドルが1つ作成されます。これは助けているもの:

'ENTITY_TYPE' => 'MY_ENTITY'、 'バンドル' => 'MY_ENTITY' を、

ワークフロー全体が私のブログに到達することができます:Use entity reference in your custom entities without bundles

関連する問題