タグ付けされた質問 「entities」

Drupal 7以降に使用された用語では、ノード、コメント、分類用語、およびユーザーは一般に「エンティティ」と呼ばれます。

5
hook_form_alterの「und」の言語キーのベストプラクティス
カスタムモジュールのフォームを変更しています。コードは次のようになります。 function my_module_form_alter(&$form, &$form_state, $form_id) { if ($form_id == "someID") { $form['field_charity_author']['und'][0]['value']['#value'] = arg(3); //$form['field_charity_author']['#type'] = 'hidden'; } } ただし、ハードコーディングundは悪いと思います。この場合、フォームフィールドを適切に変更する適切な方法は何ですか?
30 7  entities  hooks  i18n-l10n 

1
エンティティにフィールドが存在するかどうかを確認する方法は?
エンティティノードで、「abc」フィールドが存在するかどうかを確認します。存在する場合、私はその値を取得します$value->get('abc'). ただし、このフィールドが存在しないコンテンツタイプはエラーになります。 Webサイトで予期しないエラーが発生しました。後でもう一度やり直してください。 エンティティにフィールドが存在するかどうかを確認する方法は?
28 8  entities 

6
EntityFieldQueryをデバッグしますか?
誤動作しているモジュールがあります。EFQは予期しない結果を再試行していますが、コードを見ただけではその理由がわかりません。EFQに相当するdpq()はありますか?それらをデバッグする他の方法は?
27 7  entities  debugging 


1
エンティティ参照表示のビュータイプを作成する方法は?
エンティティ参照のフィールドコレクションを含むエンティティがあり、エンティティ選択モードでエンティティ参照を編集できます(バンドルによるオプションのフィルターを使用)。ただし、エンティティフィールド名xのみがリストに表示されます。 参照されたエンティティからの情報を表示するビューも作成しましたが、エンティティ選択モードをビューに切り替えると、次のメッセージが表示されます。 適格なビューは見つかりませんでした。エンティティ参照表示を使用してビューを作成するか、そのような表示を既存のビューに追加します 。 その後、エンティティ参照表示タイプのビューをいくつか作成しました。これらのビューには同じ情報が表示されますが、エラーメッセージが表示されます。 エンティティ参照表示ビューを作成する手順を教えてもらえますか?PS。エンティティ参照はフィールドコレクションの複数値要素であるため、私がやっていることはいつもよりも巧妙だと思いますが、ビューを作成することはできません>
26 views  entities 

5
EntityFieldQueryでORを使用する
今日までこれを行う必要はありませんでしたが、選択クエリに使用されているためEntityFieldQuery、でORクエリを作成できるようには見えませんdb_or。 例では、値がnullまたは今日以降の日付フィールドを持つすべてのエンティティを取得します。 私は何かまたは何かトリックを逃していますか、これは単にサポートされていませんか?

6
プログラムでファイルを添付する
「Gallery」コンテンツタイプを作成し、「photo」と「document」の2つのフィールドを追加しました。次に、「ドキュメント」フィールドにファイルをアップロードするために次のコードを使用しました。 $file = file_save_upload('document', array( 'file_validate_extensions' => array('txt doc'), // Validate extensions. )); // If the file passed validation: if ($file) { // Move the file, into the Drupal file system if ($file = file_move($file, 'public://')) { $file->status = FILE_STATUS_PERMANENT; // $file->file_display = 1; $file = file_save($file); } else { …
25 7  nodes  entities 

4
現在のD8ステータスでは、新しいコンテンツエンティティタイプを作成する場合と、「ノード」コンテンツエンティティのコンテンツタイプを作成する場合の決定ツリーは何ですか?
「新しいコンテンツタイプを追加するのではなく、エンティティを作成するのが適切な場合」という質問に対して受け入れられた回答が書かれてから4年、Drupal 8の最初のリリースがありました。また、エンティティは、Drupal 7よりもDrupal 8の中心です(RefB、RefC、RefD)。 この新しいDrupal 8の世界では、新しいコンテンツエンティティタイプと「ノード」タイプのコンテンツエンティティの新しいコンテンツタイプを作成するためのディシジョンツリーは何ですか? 応答を検討する際には、以下を考慮してください。 「ノード」のコンテンツエンティティタイプの新しいコンテンツタイプは、新しいコンテンツエンティティタイプに対して99%の状況でまだ適切ですか? デシジョンツリーには、「ノード」コンテンツエンティティタイプの使用を避け、代わりに新しいコンテンツエンティティタイプを作成する、より多くの、より良い、またはより明確な理由が含まれていますか?はいの場合、それらは何ですか?含まれますか: パフォーマンス? セキュリティ/許可? Node-entity-type Content-Typesで動作し、他のコンテンツエンティティタイプでは動作しないモジュールの数は? おそらく-上記で参照された以前に受け入れられた回答に基づいて-カスタムコンテンツエンティティタイプを実行する唯一の一般的な理由は、ノードデータを分類用語などでグループ化するか、そうでなければコメントなどでノードに注釈を付ける場合ですか? モジュールの互換性は、決定木にとって特に興味深い考慮事項のようです。現在、最もインストールされているモジュールのほとんどは、アルファ、ベータ、またはrc(リリース候補)だけではない8.xのリリースがあります。また、新しいカスタムエンティティタイプと新しいノードエンティティコンテンツタイプでは、それらのうち何個がそのまま使用できるかを特定することは難しいようです。「エンティティ用に作成されたもの」と「ノードエンティティコンテンツタイプ用に作成されたもの」を区別するプロジェクト属性はないようです。 pathautoを見てください。これは、現在、8.xリリースの種類があるモジュールの中で4番目にインストールされているモジュールです。人々は、ノードエンティティタイプのコンテンツタイプだけでなく、一般的にエンティティをサポートする8.xバージョンで一生懸命取り組んでいます。しかし、他のすべてのモジュールはどうですか?また、エンティティをサポートするモジュールは、通常、モジュールが動作する前に、モジュール固有の「フック」を持つカスタムコンテンツエンティティタイプを必要としますか?(モジュールが新しいコンテンツタイプですぐに動作する方法とは異なりますか?) それはpathautoチームが取り組んでいる種類の課題のように見えますが、おそらくカスタムコンテンツエンティティタイプから遠ざかる理由でしょうか? Drupal 8コアには、タイプ「ノード」のコンテンツエンティティの新しいコンテンツタイプを作成するためのUIが含まれていますが、現在、新しいコンテンツエンティティタイプを作成するためのUIは含まれていません。(RefX、RefY、RefZ)
24 entities  8 

5
entity_metadata_wrapperを使用してファイルフィールドの値を設定する方法
entity_metadata_wrapperを使用する場合、ファイルフィールドの値をどのように設定しますか? 私はコードでこれを試しました: $file = new stdClass(); $file->uid = 1; $file->uri = $file_path; $file->filename = basename($file_path); $file->filemime = file_get_mimetype($file_path); $file->filesize = filesize($file_path); $file->status = FILE_STATUS_PERMANENT; $file->display = '1'; file_save($file); // I also tried: $file = file_save($file); $node = array( 'type' => 'news_item', 'uid' => 1, 'status' => 1, 'comment' => 0, …
24 7  files  entities 

3
node_load()とentity_load()のどちらを使用すべきですか?
タイトルがすべてを語っています。 entity_loadは、データベースクエリを削減しながら複数のノードをロードするためのパフォーマンスの高い効率的な手段を提供することを理解しているため、その場合はentity_load()を使用する必要があると考えています。しかし、1つのノードだけが必要な場合、どちらを使用すればよいですか?そして、より汎用的なentity_load()APIを支持して、node_load()はd8で非推奨になりますか? 同じ質問が使い慣れたuser_load()にも当てはまると思います。
24 entities 

1
entity_metadata_wrapper()関数の目的は何ですか?なぜ使用する必要がありますか?
現時点では、Entity APIを使用する多くのモジュールのアドオンを開発しているようですが、entity_metadata_wrapper()関数は引き続きポップアップします。 ドキュメントのページには、それについて、これを言います: 指定されたデータのプロパティラッパーを返します。 エンティティがラップされている場合、ラッパーを使用して、エンティティプロパティのラッパーをさらに取得できます。 そこにある「実体」という言葉の素晴らしくフロイト的な綴りを無視すると、私はこれらのラッパーの目的が何であるか本当に理解していません。 関数は本質的にEntityDrupalWrapperクラスを返すことを理解しています: ラッパーは、エンティティプロパティのgetterおよびsetterコールバックの適用を容易にします しかし、私が理解できないのは、それが物事を簡単にする方法です。 たとえば、ノードのステータスプロパティを更新するには、次のコードを使用できます。 $node = node_load($nid); $node->status = 1; node_save($node); それはとてもきれいです。私が理解しているように(しかし間違っているかもしれませんが)使用entity_metadata_wrapper()する同等のコードはそれより冗長です。 ここで私をつまずかせているのは単に「ラッパー」という用語の使用であるかどうかはわかりませんが、Entityモジュールのコードも調べましたが、実際にはそれを理解するのに少しも近づいていません。 誰でもこの関数を使用する利点を説明でき、おそらく一般的なユースケースの簡単なコード例を提供できますか?
23 entities 

2
エンティティ参照フィールドをプログラムで更新する
次のようなコードを使用して、Drupal 7のエンティティ参照フィールドを更新(または値を設定)できることを知っています。 $node['field_code_used_by'][LANGUAGE_NONE][0]['target_id'] = $id; Drupal 8のユーザーエンティティ参照フィールドの値をプログラムで設定したい。 私は試した$node->field_code_used_by->setValue(1);し、$node->field_code_used_by->entity->value = 1;どちらもそれらの働きました。 エンティティ参照フィールドの値を設定するにはどうすればよいですか?
23 8  entities 

2
用語参照よりもエンティティ参照を使用することに利点/警告はありますか?
本当に簡単な質問ですが、エンティティ参照フィールドよりもコア用語参照フィールドを使用することの利点はありますか? 明らかに、タグ付けはエンティティ参照のオプションではありませんが、ノードページから新しい用語を作成するためにインラインエンティティフォームを使用し、正常に機能します(用語にフィールドがある場合はタグ付けよりも好みます)。 tl; dr タグ付けとは別に、分類用語を参照するために用語参照よりもエンティティ参照を使用する利点/注意事項はありますか?

3
node_view()が非推奨になったので、どのようにノードをレンダリングしますか?
Drupal 7ではnode_view()、次のようにブロックまたはページで(表示モードを使用して)ノードをレンダリングするために頻繁に使用します。 $nids = array(123,456,789); $nodes = node_load_multiple($nids); foreach ($nodes as $node) { $node_view = node_view($node, 'teaser'); $output .= drupal_render($node_view); } $build['nodes']['#markup'] = $output; return $build; node_view()/ entity_view()は廃止され、変更レコードで説明されているようにビュービルダーに置き換えられました。エンティティは、ビュービルダーによってレンダリングされるようになりました。情報は、私が同じ結果を達成する方法を理解できるほど詳細ではありません。 ブロックまたはページのレンダー配列で出力を使用できるように、Drupal 8でノードをレンダーするにはどうすればよいですか?
22 entities  8 

8
entity_metadata_wrapperのフィールドの存在を確認する
フィールドコレクションを繰り返し処理し、フィールドコレクションアイテムをentity_metadata_wrapperでラップしています。valueメソッドを呼び出す前にフィールドの存在を確認したいのですが(値のないフィールドでエラーが発生します)、そうする方法を見つけることができません。 $field_collection_item = field_collection_item_load($id); $item_wrapper = entity_metadata_wrapper('field_collection_item', $field_collection_item); // this results in an error if the field_contrib_headshot field is empty $headshot = $item_wrapper->field_contributor->field_contrib_headshot->value(); 私の現在の回避策はfield_get_items、フィールドが空であるかどうかを確認することですが、可能であればメタデータラッパーを介してこれを実行できるようにしたいと思います。
22 entities 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.