2016-09-01 7 views
0

こんにちはスタックコミュニティ。drupalプログラムでエンティティを作成する

私はここで問題に直面しています。私はヘッドレスのDrupalを使用して私のフロントアプリのAPIを公開し、Drupalのエンティティの作成と更新プロセスに関する質問があります。 エンティティとバンドルをプログラムで作成してPHPスクリプトを作成して実行すると便利です。そして、おそらく他の私のSQLスキームやentitesフィールドを変更する。

私は実際にはdrupalでかなりnoobです(私はdjangoとmigrationsのファイルに似ています)。 Drupal(7 or 8 ^^)と同等の機能があることを知りたい。

答えて

1

これは間違いなく、Entity APIを使用してDrupalで行うことができます。私はD7でこれを手伝っただけですが、それはあなたが望むものとまったく同じです。もちろん、スタンドアロンのPHPスクリプトだけではなく、フックでDrupalモジュールを使用することもできます。

hook_schemaを使用してテーブルを作成し、hook_update_N(Nは任意の数値)を使用してスキーマの移行を処理します。エンティティはhook_entity_infoを使用して定義されますエンティティ、フィールド、およびフィールドインスタンスを管理するコントローラが必要です。このインスタンスは、エンティティの関連性と表示に関する情報をDrupalに通知します。

最初に実行したときにはかなり複雑なプロセスです。ここでは外部リソースとリンクするのは悪い形だとわかっていますが、この件名はかなり密集しています。私はhttp://www.zyxware.com/articles/4779/drupal-how-to-create-custom-entity-programatically-in-drupal-7が非常に貴重なリソースであることを発見しました。私が仕事場でプロジェクトの概念証明を作成していたときです。

幸運にも、それがどうなるか教えてください。

+0

ありがとうございます私はそれを見て、それがどのように動作するかをあなたに知らせるために戻ってきます(よく私は仕事でたくさんあるので、私はそれに取り組む前に時間がかかるでしょう。 ^^。 – FitzChill

0

Drupal 8を使用している場合は、Drupal Consoleが大いに役立ちます。 generating entities、コントローラ、フォームなどのコマンドがあります。 Drupalの7 Entity Construction Kitについては

は、私は生産にsucessfully両方これらのツールを使用している

を移動するための方法です。

Quintの提案から気づいたように、書きたい定型コードがたくさんあります。

+0

今はまだD7を使用していますが、D8に移行することについての強力な議論がありますので、それを見るには良いIDになる可能性があります。デッドラインとすべて.....)。ありがとう^^ – FitzChill

関連する問題