Entity APIを使用してエンティティタイプを作成し、エクスポート可能にしました。 export
リンクは正しく機能しますが、Import
では次のエラーが発生します。
致命的なエラー:903行目の[...]\sites\all\modules\entity\entity.moduleの非オブジェクトのメンバー関数label()への呼び出し
理由は何も見つからなかった。
これが私のhook_entity_info()
です:
_$return = array(
'event' => array(
'label' => t('Event'),
'entity class' => 'EventClass',
'controller class' => 'EventController',
'base table' => 'calendar_events',
'fieldable' => TRUE,
'entity keys' => array(
'id' => 'eid',
),
'load hook' => 'events_load',
'view modes' => array(
'full' => array(
'label' => t('Default'),
'custom settings' => FALSE,
),
),
'label callback' => 'entity_class_label',
'uri callback' => 'entity_class_uri',
'module' => 'events',
'access callback' => 'event_access',
'exportable' => TRUE,
'admin ui' => array(
'path' => 'admin/structure/events',
'file' => 'events.admin.inc',
'controller class' => 'EventsUIController',
),
),
);
_
さらに情報が必要な場合は教えてください。
[編集]sites/all/modules/entity/entity.module:903
_のentity_class_label($entity)
でエラーが発生したと考えました。 _$entity
_の内容を印刷しましたが、NULL
のようです。
なぜNULL
なのですか?
これはEntity APIモジュールのバグのようです。
まったく同じエラーメッセージの問題が報告されました ここ Profile2モジュール(Entity APIをかなり頻繁に使用します)に関係しています。
その投稿の結果、問題はエンティティAPIのバグであり、その詳細は コンテンツ構築時に参照フィールドをロードする で確認できます。
上記からわかるように、問題を修正するために利用可能なパッチがあります。テストに合格した最新のパッチは2011年11月16日でした。
Entity APIモジュールの最新の安定版リリースを見ると、その日付が2011年11月10日であることがわかります。これは、パッチがおそらく安定版にまだ組み込まれていないため、ご使用のバージョンで修正されていないことを意味しますモジュール。
できることは2つあります。