web-dev-qa-db-ja.com

エンティティー参照:エンティティー参照ビューによるフィルターが期待どおりに機能しない

フィールドからの追加データを含む分類用語のリストを表示する分類参照フィールド選択ウィジェットを取得しようとしています。 「参照メソッド」=「ビュー:エンティティ参照ビューによるフィルター」を使用して、作成したエンティティ参照ビューを選択し、エンティティ参照ビューで次のことを実行しようとしました。

enter image description here

ただし、これにより、すべてのフィールドがインラインで表示される可能性があることを示す設定にかかわらず、分類用語の名前のみが表示されます(「注:[エンティティ参照]画面では、ここでインラインフィールドを明示的に選択しない限り、すべてのフィールドがインラインで表示されます。」 )。

enter image description here

5
nicholas.alipaz

現時点ではできません。

\Drupal\views\Plugin\EntityReferenceSelection\ViewsSelection::getReferenceableEntities()を参照してください。ビューを使用して結果を取得し、$ entity-> label()を呼び出します。つまり、それをオーバーライドする方法はありません。

つまり、これが必要な場合は、独自のプラグインを提供する必要があります。 ViewsSelectionからサブクラスを作成してビューを維持することも、デフォルトから拡張してそのメソッドをオーバーライドすることもできます。

また、機能のリクエストを開く価値があるかもしれません。私はすでにこのユースケースを複数回使用しており、どこかに新しいチェックボックスまたはオプションが、マイナーリリースでこの機能を導入するための下位互換性のある方法です。

4
Berdir

モジュール エンティティ参照ビュー選択 は、エンティティ参照フィールドでエンティティを選択するときに、選択リストの追加フィールドとチェックボックスをサポートします。 ECKエンティティで正常に使用しました。

2
imclean
0
andir

これを回避する方法があるかもしれませんが、私が提出したこの問題に示されているように、制限もあります: https://www.drupal.org/node/2841330#comment-1185435

つまり、エンティティ参照ビューの結果を処理する独自の表示ハンドラを記述します。

Webform_references開発者はそれを行いましたが、私の問題でわかるように、開発者はwebform selectオプションのテーマをビューのレンダリング結果に委任します。私の意見では(2番目のコメントを参照)、エンティティ参照ビューを要求している人の責任(またはその点についての選択)である必要があります。つまり、views_get_view_result()の代わりに$view->execute_display()関数を使用します。

0
rawdesk.be

Drupal 8では、 View Entity Reference Field Formatter モジュールを使用して、viewsモジュールを使用して、参照されるエンティティを表示できます。

0
rwilson