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

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

2
EntityFieldQueryを使用するときにnode_accessをバイパスする方法は?
次のコードでは、現在のユーザーに「ノードアクセスのバイパス」(正確な検証については_node_query_node_access_alter()を参照)がない場合、クエリはnode_accessをチェックしますが、「node_access」タグを使用していません。 管理者以外のユーザーに対する次のクエリでnode_accessチェックを回避するにはどうすればよいですか? 私はこのコードをモジュールから使用しているので、パーミッションを自分で確認できます。node_accessチェックは必要ありません。 $query = new EntityFieldQuery; $result = $query ->entityCondition('entity_type', 'node') ->entityCondition('bundle', 'foo') ->fieldCondition('custom_id', 'value', $custom_id) ->execute();
12 7  entities  users 

1
削除されたフィールドを復元する
それぞれが用語参照である4つのフィールドを持つコンテンツタイプがあります。100個のノードがあり、それぞれに4つの用語参照が割り当てられています。私は誤ってこれらのフィールドの1つをadmin> structure> content-types> mycontent-type ...から削除しました。その結果、100個のノードすべてが、この失われたフィールドに含まれる用語参照を失っています。 データベース管理モジュールをインストールした後、削除したフィールドのデータベースがまだ存在していることがわかりました。「field_deleted_field_74」のような名前に変更されていました。 mysqlを使用して、このデータベースの名前を「field_data_field_originalname」に戻すことができました。つまり、削除されたフィールドに元のマシン名を使用しています さらに、このデータベース内の削除された列の値を「1」から「0」に切り替えることができました。 私は、「field_revision_field_74」のような名前が付けられていることがわかった他の「ゴースト」データベースで上記を実行しました... 名前を変更したフィールドが、コンテンツタイプの管理フィールドの表示や、admin> reports> fieldsリストに既存のフィールドとして表示されないのが私の問題です。「drush field-info fields」を実行すると、それも欠落しています。 元に戻す方法は?編集が必要なデータベースを参照している別のデータベースがあると想定しています。 ありがとう!

3
EntityMetadataWrapperオブジェクトからファイルURIを取得するにはどうすればよいですか?
フィールドを介してノードに関連するファイルオブジェクトを取得するのは、EntityMetadataWrapper: $wrapper = entity_metadata_wrapper('node', $node); $images = $wrapper->field_images; それは素晴らしいことです。ただし、標準のファイルオブジェクトの一部のプロパティを使用したいのですが、それらは使用できません。$images[0]->file上記のコードを使用して利用できるプロパティを見ると、次のことがわかります。 fid 名前 MIME サイズ url タイムスタンプ オーナー 最も注目すべきは、uri欠落しており、その場所にurl画像ファイルへの完全な外部URLであるプロパティがあります。これらの画像をURIで操作したい(つまみを作成するなど)ため、このままにしておきます。 $fid = $images[0]->file->fid->value(); $uri = file_load($fid)->uri; EntityMetadataWrapperそもそもを使用するという全体のポイントを否定するようです。 私は何が欠けていますか?ラップされたファイルオブジェクトのURIはどこにありますか?それが利用できない場合、すべての良いものと純粋なものへの愛のために、なぜですか? URLを分解してURIに戻すことができることは承知していますが、それも非常に不必要だと感じています。
11 7  entities 



1
EntityFieldQueryは本当にこれは非効率ですか?
私はEntity APIの初心者ですが、それを解決しようとしています。私は、さまざまなフィールドが付加された多数のコンテンツタイプを使用するサイトで作業しています。派手なものは何もない。したがって、一連のエントリを取得したい場合、私は無知で、データベースを直接呼び出して、次のようなことをしています。 $query = db_select('node', 'n')->extend('PagerDefault'); $query->fields('n', array('nid')); $query->condition('n.type', 'my_content_type'); $query->leftJoin('field_data_field_user_role', 'role', 'n.nid = role.entity_id'); $query->condition('role.field_user_role_value', $some_value); $query->leftJoin('field_data_field_withdrawn_time', 'wt', 'n.nid = wt.entity_id'); $query->condition('wt.field_withdrawn_time_value', 0); $query->orderBy('n.created', 'desc'); $query->limit(10); $result = $the_questions->execute()->fetchCol(); (はい、私はおそらくこれらの行の束を単一の$the_questions->ステートメントに折りたたむことができます; plsは今のところそれを無視します。) EntityFieldQueryでこれを書き換えようとすると、次のようになります。 $query = new EntityFieldQuery(); $query ->entityCondition('entity_type', 'node') ->entityCondition('bundle', 'my_content_type') ->fieldCondition('field_user_role', 'value', $some_value) ->fieldCondition('field_withdrawn_time', 'value', 0) ->propertyOrderBy('created', 'desc') …
11 7  database  entities 

6
フルコンテンツビューで本文全体に要約(ティーザー)を表示する方法
次の「フルコンテンツ」レイアウトのように、タイトルの下の各記事の上部にティーザーを表示したいと思います。 題名 ティーザー(記事の要約) 画像 体 さらに、ティーザーには独自のフォーマットを設定する必要があります(たとえば、イタリックで大きなフォント) TPLファイルまたはコアファイルを編集せずにそれを行う方法は見つかりませんでした。 解決策は、新しいフィールド「article_teaser」をコンテンツタイプに追加し、表示を管理して「フルコンテンツ」ビューでレイアウトを取得することです。これは機能しますが、同じテキストを2回入力する必要があるため、入力コンテンツフォームにティーザーフィールドが2つあるのは望ましくありません。 フィールド本文を「テキスト」と「要約」の部分に分割できないようですが、どちらか一方しか表示できません。両方は表示できません。 それを行う方法(モジュール?)はありますか? (私の環境:Zen SubテーマのDrupal7。)
11 7  nodes  entities 

6
エンティティからフィールドの値を取得する
私のサイトにインストールしたのは、Entity APIおよびEntityformモジュールです。Entityformモジュールを使用すると、任意のユーザーが送信できるフォームを作成できます。フォームタイプのフィールドは、コンテンツタイプと同様に、ビューで使用できます。 通常、phpを使用してフィールドの値をノードからテンプレートにプルするには、次のようにします。 <?php echo $node->field_name[$node->language][0]['value']; ?> ただし、これはentityforms / entitiesでは機能しません。 誰かがエンティティフォーム内のフィールドに対してこれを行う方法を知っていますか?一部の人々はdevelとdpm()関数を使用することを提案しましたが、それらの使用方法もわかりません。 このフィールドの値を取得する方法の具体的な例は、本当に非常に役立ちます。
11 7  entities 

1
すべてにバンドルが必要ですか?
Entity APIについて学習しています。たとえば、ビューで使用できるように「drupalize」したい単純な追加のテーブルがあります。 私はかなりの数を読み、いくつかのビデオを見て、かなりの数の例を見ました。バンドルのコンセプトにこだわっています。バンドルとは何か理解しています(たとえば、ノードタイプはノードエンティティのバンドルです)。 しかし、私の使用では、バンドルは1つしかありません。例では、バンドルがデータベーステーブルに格納されていることを確認しました。すべてのレコードに対して同じ値が格納されるため、これは私には必要ありません。だから私はどういうわけかこれをスキップしたり、エンティティにバンドルの標準文字列を常に返させたりできると考えていました。 誤解しましたか?バンドルは常に実装する必要があり、データベーステーブルレベルで実装する必要がありますか?
11 7  entities 

2
hook_field_formatter_viewを変更しますか?
フィールド出力を変更する最良の方法は何ですか?「hook_field_formatter_view」は見つかりましたが、「hook_field_formatter_view_alter」のようなものは存在しないようです。私の場合、DrupalCommerceのチェックアウトページの[Shipping ] ペインと[ Billing]ペインで使用される住所フィールド(Addressfieldモジュール)があります。これらのフィールドにいくつかのjsを追加したいのですが、DrupalのフォームAPI "#attached"を使用するのが望ましいです
11 entities 

1
フィールドウィジェットが要素を形成しないのはなぜですか?
多くの場合、フォーム要素はフィールドウィジェットから分離していますが、非常によく似た機能を実装しています。 この質問のように、それらの機能が2つのAPI間を行き来することもあります。有効なフィールドウィジェットフォームを単独で表示することは可能ですか? フィールドができウィジェットように私には論理的と思われることがあること、フォーム要素もフィールドAPIは約来たときに、フォームのAPIがすでに適所にいた、特に以来、いくつかの基本的なストレージに直接マッピングするために起こります。 なぜこれが当てはまらないのかと思います。 編集: 以下のkiamlalunoで指摘されているように、公式ドキュメントによると、ウィジェットはフォームAPI要素です。つまり、質問を少し編集する必要があります。 Coreタグ付けウィジェットをフォーム要素として使用したかったので、これについて不思議に思いました。しかし、私の知る限りでは、簡単な方法はありません。ウィジェットが要素であると主張するドキュメントにもかかわらず、それは必ずしも本当であるようには見えません。 ウィジェットが次のように宣言されている場合 function hook_widget_info() { return array('my_widget' => array( 'base element' => 'some_form_element_machine_name', )) } その場合、要素の定義はウィジェットから分離されるため、両方の方法で使用できますが、現在はそうではありません。 編集2: 機能リクエストがオープンしました。
11 entities 




2
RuntimeException:構成で見つかったフィールドタイプのクラスを判別できません
Drupal 8.3.7からDrupal 8.4.0に更新しているときに、私のWebサイトでこのエラーが発生し、解決できません。 Webサイトで予期しないエラーが発生しました。後でもう一度やり直してください。RuntimeException:Drupal \ field \ FieldStorageConfigStorage-> mapFromStorageRecords()の 'field.storage.node.webform'設定にあるフィールドタイプ 'webform'のクラスを特定できません(core / modules / field / src / FieldStorageConfigStorageの157行目)。 php)。
11 8  entities 

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