web-dev-qa-db-ja.com

複数の分類法の組み合わせ

次の4つの分類法があります
1。新しい分類法
2。コンテンツカテゴリ
テクノロジー分類法

  • 用途
  • ゲーミフィケーション
  • 建築
  • など、合計170項

4。垂直分類

  • 自動車
  • 銀行

分類用語ビューを使用して、これらのリストページを作成しました。複数の分類法(テクノロジーと垂直)を動的に組み合わせてコンテンツを表示することは可能ですか?例:example.com/applications/automotive。はいの場合、どのようにこれを行うことができますか?

1
RK251

はい、ビューのコンテキストフィルターで実行できます。分類用語のビューを複製して作業し、将来の参照のためにオリジナルを無効にすることができます。

語彙ごとに1つのコンテキストフィルターを追加する必要があります。おそらくコンテンツタイプのフィールドごとに1つのフィールドがあるので、分類基準参照フィールドをコンテキストフィルターとして追加します。もう1つの方法は、「分類用語あり」を2回使用し、語彙を制限することです。

URLから取得したデフォルト値を設定する必要があります。設定の詳細については、オンラインで多くのチュートリアルを見つけることができます: ビューにコンテキストフィルターを追加するDrupalでコンテキストフィルターを使用する方法= 8

上記のアプローチは、用語ID example.com/16/35でのみ機能します。

TIDの代わりに用語名を表示するには、リレーションシップをタクソノミーフィールドにビューに追加し、コンテキストフィルターにTaxonomy term: Nameを追加すると、そのリレーションシップがタクソノミーコンテキストフィルターで使用されます。他の語彙についても繰り返します。この回答も参照してください: 2番目のURLパラメーターに基づいてフィルターするビューを設定する方法?

これがexample.com/applications/automotiveの取得方法です。

4
prkos

Prkosのおかげでこの問題は解決しました。これを達成するために私が行った手順を書き留めます。

  1. 分類用語ビューを無効にしました
  2. 分類用語ビューを複製すると、私の2つの分類参照フィールド(field_case_study_industry、field_case_study_technology)を使用して、2つのコンテキストフィルターが追加されました。次に、WHEN THE FILTER VALUE IS NOT IN THE URLのオプションを設定して、デフォルト値を提供し、URLから選択された分類用語IDを取得します。用語ページからデフォルトフィルターをロードするをチェックします。次に、パスを/ case-study /%/%に設定します。これはexample.com/case-study/3033/3222で完全に機能します
  3. URLに用語名を追加します。 2つの関係が追加されました:field_nameから参照される分類用語。オフにすると、この関係が必要になります。 2つのコンテキストフィルター「名前」を追加しました。関係を選択しました。 When the filter value is not in the URLの場合、すべての結果の表示を選択しました。これで、URL /case-study/applications/automotiveが機能するようになりました
0
RK251