В Drupal, нельзя ли иметь поля, связанные с сущностями, у которых нет пакетов? - PullRequest
1 голос
/ 07 декабря 2011

Я создал сущность через пользовательский модуль.У этой сущности нет связки, и она прекрасно создается.entity_get_info говорит, что нет необходимости иметь связки.

Далее я создаю поле для ссылки на сущность, используя field_create_field, и это тоже отлично работает.Теперь, когда я хочу связать это поле как экземпляр с моей настраиваемой сущностью и когда я вызываю field_create_instance (без указания комплекта), я получаю сообщение об ошибке:

drupal FieldException: попытка создать экземплярполя без связки

Я продолжаю видеть, что связка является обязательным полем в field_config_instance .. Я попытался указать связку как то же имя, что и сущность, но у меня это тоже не сработало.На самом деле он создал экземпляр, но в форме добавления / редактирования сущности, когда я делаю field_attach_form, я получаю еще одну ошибку:

Примечание: неопределенный индекс: target_bundles в EntityReferenceHandler_base-> buildEntityFieldQuery () (строка174 из /Applications/MAMP/htdocs/MYPROJECT/sites/all/modules/entityreference/handler/base.inc).

Любая помощь будет высоко оценена.

1 Ответ

3 голосов
/ 08 декабря 2011

При создании экземпляра для вашего поля необходимо убедиться, что вы указали имя пакета. Если у вас нет каких-либо пакетов для вашей сущности, по умолчанию создается один пакет с тем же именем, что и у вашей сущности. Вот что помогло:

'entity_type' => 'MY_ENTITY', 'bundle' => 'MY_ENTITY',

Весь рабочий процесс доступен в моем блоге: Используйте ссылку на сущность в ваших пользовательских сущностях без связок

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...