Drupal 8で、新しいメディアタイプ「PDFファイル」を作成しました。約30,000をインポートしました。それぞれにタイトル(名前)、ファイル、およびそれらを分類する分類法を完備しています。
コンテンツタイプ(たとえば、デフォルトの記事など)に、エンティティ参照フィールドと、エンティティファイルブラウザープロジェクト( https://www.drupal.org/)を介してファイルを検索する機能を追加しましたproject/entity_browser )。
これは十分に機能していますが、デフォルトでは[名前]フィールドでのみ検索されていました。
どのようにして同じことを達成できますが、コンマ区切りのタグで検索しますか?
したがって、各ファイルにはタグ構造TAG1、TAG2、TAG3があります。
コンテンツタイプのファイルの検索フィールドで、TAG1、TAG3と入力すると、そのタグの組み合わせを持つすべてのファイルが表示されます。
カスタムスクリプトに飛び込んだりエンティティブラウザーを拡張したりする前に、これが見落としている単純なものではないことを確認したかったのです。 (D7の長い経歴を経てD8に入ったところです)。
更新:
コメントで提案されているように、参照としてビューを使用してください。ビュー参照を選択するには、ビューが(ページ、ブロックなどではなく)エンティティ参照である必要があるようですが、メディアにはタグで検索する機能がないようです。これはDrupalプロジェクトはそれを解決しようとするようです- https://www.drupal.org/project/media_taxonomy_filter しかし運はありません。
また、もう1つのハードルは、タイプがMediaのビューを作成するときに、分類フィールドフィルターがないことです。これは、メディアが分類法で分類できるようになったという点で奇妙に思われます。そうですか?同様に、ビューを使用している管理メディアページの場合、分類法でフィルタリングできませんか?
Kevinが言ったように、 エンティティブラウザモジュール をインストールする必要があります
オプションのモジュール:私は個人的に Entity Browser Enhance(d | r) も使用して、メディアを選択するときの使いやすさを向上させています。
/admin/structure/views/add
に移動し、Media
アイテムを表示するビューを作成します。次の画面で、表示タイプEntity browser
をビューに追加します。このビューに特別なEntity browser bulk select form
フィールドを追加する必要があります。選択した追加のフィールドとフィルターを使用してビューを構成します。例えば。分類タグが必要な場合は、タグフィールドに公開フィルターを追加します。
Configurarion > Content Authoring > Entity browsers
の下に、メディア用の新しいエンティティブラウザを作成します。必要に応じて構成し、最後のステップで、以前に作成したビューをウィジェットプラグインとして追加します。
(選択ビューのほかに、インプレースアップロードの場合は DropZoneJs または新しいノードのインプレース作成の場合は インラインエンティティフォーム のように、ここに複数のウィジェットを追加できます) 。
Structure > Content Types
に移動し、ノードのフォーム表示を編集します。メディアフィールドのウィジェットをEntity browser
に変更し、以前に作成したブラウザを選択します。
途中でかなり多くの設定オプションがありますが、これは次のようなメディアブラウザを取得するための基本的な概要です。
(検索部分には、「通常の」ビューのように任意/複数の公開されたフィルターを含めることができます)
追加情報については、このチュートリアルをお勧めします
https://www.electriccitizen.com/blog/media-libraries-drupal-8
(ただし、個人的にはメディアにインラインエンティティフォームを使用しません。選択にはエンティティブラウザを、インプレースアップロードにはDropZoneJSを使用することをお勧めします)