2016-05-17 10 views
1

私はカスタムエンティティタイプとこのエンティティタイプとのインターフェースを必要とするカスタムモジュールを作成するDrupal Consoleで作業してきました。私の状況は、フック "hook_ENTITY_TYPE_create()"が何とか呼び出される必要があるということです(エンティティがデフォルトで作成されたときに呼び出されると仮定しています)。hook_ENTITY_TYPE_create()はどのように呼び出されますか?

私はいくつかのファイルで、このフックを実装しなければならないと思いますが、私は、私はこのフックを実装する必要のあるファイルが不明です。

次のように私のモジュールのファイル構造がある(Drupalのコンソールによって生成された)

Drupal Module Structure

おかげ

+0

イベントエンティティ(またはモジュールで作成した他のエンティティ)に対して何かをしようとしているのですか、またはコアやcontribモジュールのような別のソースからエンティティを変更しようとしていますか? – acrosman

+0

@acrosman Drupal Consoleで生成したイベントエンティティです(drupal generate:entity:content) –

答えて

1

あなたは.moduleファイルにhook_ENTITY_TYPE_create()を置くことができますが、あなたは、イベントエンティティの節約に反応しようとしていることをあなたのコメントで述べたので、あなたのモジュールでは、イベントエンティティ自体のsave()メソッドをオーバーライドすることで、おそらくより効果的です(私はコンソールがデフォルトでスタブメソッドを提供すると信じています)。

+0

Drupal 8モジュールの場合と同じ回答をしてもらえますか? –

+0

@Martin Joiner:それはDrupal 8の答えです。追加に役立つ詳細がいくつかありますか? – acrosman

+0

私の間違い。書いている時点で私は、7から8に移動すると、.moduleファイルが削除されたと考えました。しかし、ENTITY_TYPEはカスタムコンテンツタイプと同じですか?したがって、マシン名が 'sausage'のカスタムコンテンツタイプを持つ場合、その関数の名前は' modulename_sausage_create() 'になりますか? –

関連する問題