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

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

8
新しいコンテンツタイプを追加するよりも、エンティティを作成する方が適切なのはいつですか?
新しいコンテンツタイプを作成するだけでなく、新しいエンティティタイプを作成する利点は何ですか? すべてのCRUDおよびビュー機能がコンテンツタイプに既に組み込まれている場合、新しいエンティティを作成するために必要なすべてのカスタムコーディングを行うのは少しやり過ぎです。
84 7  entities 

4
ノードからフィールドコレクションを読み込むにはどうすればよいですか?
いくつかのフィールドコレクションを持つノードがあります。 node_load()出力を見ると、次のことがわかります。 [field_rich_text_group] => Array ( [und] => Array ( [0] => Array ( [value] => 6 ) [1] => Array ( [value] => 7 ) [2] => Array ( [value] => 8 ) ) ) entity_idが6、7、8などのコレクションに含まれるフィールドデータを実際にロードするには、どのAPI関数を使用できますか?
72 7  entities 


8
プログラムでフィールドを作成する方法は?
Drupal 7で以下を実装するにはどうすればよいですか? 私がする必要があるのは、「Company」と呼ばれるフィールド化可能な新しいエンティティを定義するモジュールを作成することです。たとえば、各企業インスタンスで入力する必要がある20のフィールドのリストがあります。これらの質問は事前定義されており、一部にはカスタム検証が含まれる場合があります。 現時点では、Companyエンティティに新しいフィールドを追加できるようになっています。これは現時点では正常に機能します。私の問題は、モジュールがインストールされるとすぐにこれらすべてのフィールドが必要になるため、インターフェースを介してそれらを追加することはオプションではないということです。 私はこれにどのようにアプローチできますか?「フィールドの管理」UIを使用してプログラムで実行できることを実行できるようになると思います。
56 7  entities 

3
言語を使用する際のベストプラクティスは何ですか?
このフォームを使用して、モジュール内のデータにアクセスし始めています。(コメント#1を参照してください。) $node->field_test[$node->language][0]['value'] 私はそれがかなり良い解決策のように見えると思ったが、さらに同じ質問の下で私はこれを見つけた: 「und」が言語のないエンティティのフィールド用であると仮定しないでください。また、翻訳可能ではなく、すべてのフィールドであるエンティティ翻訳モジュールのないフィールド用です。さらに、Drupalのさまざまな7.xバージョン間でこれに違いがあります。データが保存されている言語コードの下であなたのために整理する関数 を使用する方が良いfield_get_items()。 そして今、私が使用しているものが道を壊すことができるかどうかはわかりません。
51 entities 

3
特定の表示モードのテンプレートを提供する方法は?
テンプレートで検索結果表示モードをテーマにしたい。 テンプレートファイルノードに名前を付けると、article--search-result.tpl.phpでうまくいくと思いましたが、明らかに間違っています。 node--article.tpl.phpおよびこのチェック$ view_mode内で実行できることを認識していますが、これはテンプレートにしたくない他のすべてのビューモードでは扱いにくいです。 アイデア?
46 7  theming  entities 

7
フィールド設定の長さを変更するには?
私は一度ウェブサイトにフィールドの長さ制限を設定しました。そして今、クライアントはそのフィールドにより多くの文字を入れたいと思っています。 次のエラーメッセージが表示されるため、Drupalから最大サイズを変更できません。 データベースにこのフィールドのデータがあります。フィールド設定は変更できなくなりました。 ただし、解決策が必要です。データベースで変更しますか(フィールドは、Field-collectionsモジュールによって実装されたものです)?
46 7  entities  database 

13
アクティブな構成から構成オブジェクトを削除するにはどうすればよいですか?
Drupal 8のカスタムモジュールを作成しています。これは、modules / mymod / config / install / field.storage.bloom_stem.bs_twitter_ac.ymlというファイルにフィールドストレージ構成オブジェクトを定義します。 問題は、モジュールをアンインストールしても削除されないことです。モジュールを再インストールするとクラッシュするので、明らかに取り残されています。 drush -y pm-uninstall mymod drush cr drush -y en mymod 例外 'Drupal \ Core \ Config \ PreExistingConfigException'とメッセージ 'mymodによって提供される構成オブジェクト(field.storage.bloom_stem.bs_twitter_ac)は既にアクティブな構成に存在しています' したがって、この構成オブジェクトを手動で削除する方法が必要なようです。モジュールがアンインストールされたときに削除するコードをさらに提供する必要がありますか?

11
ノードタイトルの前にフィールドを表示する方法は?
D7でティーザーを表示するときに、ノードのタイトルの前に特定のフィールドをレンダリングしようとしています。 効果的に私はから行ってみたい、このに、この。 node.tpl.phpの更新を検討しましたが$title、$contentこれとは別のものであることに気づいたので、 これにどのようにアプローチするかわかりません。いくつかの検索の後、人々はCCKとConTemplateモジュールを使用してDrupal-6でこれを回避することを提案していることがわかりましたが、Drupal-7ソリューションがもっとあるのではないかと思っています。 助言がありますか?
41 7  entities  nodes 

7
EntityDrupalWrapperクラスから派生した型のオブジェクトを検査する良い方法はありますか?
この質問は他の複雑なオブジェクトタイプにも当てはまるとEntityDrupalWrapper思いますが、現在取り組んでいるものです。これはentity_metadata_wrapper()(そしておそらく他の)によって返されるオブジェクトのタイプです。 次のようなコードを使用する場合: $order_wrapper = entity_metadata_wrapper('commerce_order', $order_object); dpm($order_wrapper); Develからの出力はあまり役に立ちません: dpm()たとえば、stdClassオブジェクトを使用した呼び出しで期待されるものは表示されません。 への同様の呼び出しdvm()は、オブジェクトを印刷しますが、私が慣れていない方法で、非常に読みにくいです。 私が試したところdebug()、次のようなPHPユーザー通知が生成されました。 ちなみに、その警告に含まれるHTML出力はdvm()、画面に出力されるのと同じ出力です。 これらのタイプのオブジェクトを(できればKrumoで)検査するにはどうすればよいですか?それとも私は使用し続けていdvm()ますか?

4
参照されたエンティティのインスタンスを取得する方法は?
という名前の画像フィールドを持つノードオブジェクトがありますfield_image。私がする時 $node ->get('field_image') ->first() ->getValue() エンティティオブジェクトではなく、いくつかのプロパティを持つ配列を取得します。配列は次のようになります。 'target_id' => string '8' (length=1) 'alt' => string '' (length=0) 'title' => string '' (length=0) 'width' => string '587' (length=3) 'height' => string '458' (length=3) '_loaded' => boolean true '_accessCacheability' => object(Drupal\Core\Cache\CacheableMetadata)[1092] protected 'cacheContexts' => array (size=0) ... protected 'cacheTags' => array (size=0) ... …
35 8  entities 

5
一括フィールド更新?
既に多くのノードがあるDrupal 7コンテンツタイプに新しい(テキスト)フィールドを追加しました。 これらすべてのノードのデフォルト値をフィールドに入力するにはどうすればよいですか?
35 7  entities 

11
EntityFieldQueryを使用して特定のロールを持つすべてのユーザーを取得します
これは簡単な作業だと思いましたが、このためのDrupal方式はないようです。私はこれに使用EntityFieldQueryしなければならないことを知っている限り、APIは条件user_load_multiple()が非推奨であると言ったので来ました。 だから私はこれを試しました: $query = new EntityFieldQuery; $query ->entityCondition('entity_type', 'user') ->propertyCondition('rid',array(1,2,3); $result = $query->execute(); しかし、私はこれを得ました: PDOException:SQLSTATE [42S22]:列が見つかりません:1054 'where句'の不明な列 'users.rid':SELECT users.uid AS entity_id、:entity_type AS entity_type、NULL AS revision_id、:bundle AS bundle FROM {users} users WHERE(users.rid =:db_condition_placeholder_0); EntityFieldQuery-> execute()の配列([:db_condition_placeholder_0] => 3 [:entity_type] => user [:bundle] => user) したがって、最初に考えたのは、users_roles-Tableなどで参加する必要があるということでしたが、重複することになります。 誰もそれを行う方法を知っていますか?
35 7  entities 

9
フィールドのスケーラビリティのコンテキストで、フィールドの再利用と新しいフィールドの作成のバランスはどうですか?
ウェブサイトで次のフレーズを読みました。 コンテンツタイプに新しいフィールドを追加する代わりに、既存のフィールドを追加することは、システムの複雑さを軽減し、スケーラビリティを改善するためのより良いオプションです。 そして、いくつかの疑問が生じます。 開発中のシステムでは、3つまたは4つのコンテンツタイプでフィールドを再利用する可能性がありますが、引用されたフレーズが示すようにスケーラビリティを改善する代わりに、フィールドのテーブルがより速くボトルネックになるため、それが減少することを恐れています(少なくともこの場合の理由は、そのフィールドのすべての値が一緒になって年間数百万になり、テーブルが大きくなりすぎるためです)。同意しますか? 設計する際に目標とする合理的な最大数は何行ですか?そうすることで、いつフィールドを再利用し、いつ新しいフィールドを作成するかを決定できます(再利用の機会がそこにあるとしても)。


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