web-dev-qa-db-ja.com

エンティティ参照フィールドに基づいてビュー結果をフィルタリングする方法

私はDrupal 7および entityreference モジュールを使用しています。field_users_referencedと呼ばれるユーザーへのエンティティrefenreceフィールドを持つコンテンツタイプがあります。

そのため、ビューモジュールとそのコンテンツタイプのリストノードでビューを作成しました。このビューの結果をfield_users_referencedに基づいて並べ替えます。

フィルターフィールドにfield_users_referencedフィールドを追加し、それを公開フィルターに設定すると、thatsフィールドにfield_users_referenced値を入力した後、結果がありません。

選択ボックスでfield_users_referencedをフィルタリングしたくない必要はありません。公開されたフィルターフィールドに値を入力して結果を注文したいと思います。

私を助けてください。

1
omiti

詳細表示設定->関係の追加->エンティティ参照フィールドの選択

次に、フィルター->フィルターを追加->それぞれのエンティティからフィールドを選択します。

ありがとう

3
Ramdas Gaikar

Drupal 8では、次のいずれかを実行できます。これらは、推奨度の高いものから低いものへの順になっています。

  1. 最新のコアパッチを適用 Generalize TaxonomyIndexTid filter to be available for all entity reference fields (これを読んでいる時点でコミットされていない限り)、
  2. エンティティ参照公開フィルター モジュールを使用する、または
  3. カスタムコードが必要な Drupal 8 を使用したエンティティ参照フィルター)の指示に従います。
1
colan

エンティティ参照フィールドをビューとの関係として追加する必要があります。その後、フィルターセクションでユーザーエンティティタイプのフィールドを使用し、自由に設定できます。

1
OPTASY

Drupal8には別の方法があります。 verf モジュールを使用してみてください

0
houmem

@Colanソリューションに基づいています。次のパッチをcomposer.jsonファイルに追加します

"extra": {
    "patches": {
        "drupal/core": {
            "View Entity Reference Field" : "https://www.drupal.org/files/issues/2019-12-24/drupal-generalize-taxonomyindextid-filter-2429699-277.patch"
        }
    }
}

次に、composer installおよびキャッシュの再構築を実行します。

0
Yusef