web-dev-qa-db-ja.com

コンテンツタイプと共有分類用語でフィルター

コンテンツを次のカテゴリに分類したい:

  • 技術
  • 国際政治
  • 教育
  • 宗教
  • スポーツ

それらは私のコンテンツタイプ(ニュース、ページなど)の間で共有されます。
「news/international-politics」などのカテゴリでフィルタリングしたリストページを作成したい(クリーンなURLに注意)。

これを達成するための最良の方法は何ですか?

私は一種の共有分類法と引数付きのコンテンツタイプごとのビューを使用してそれを行いましたが、分類法リンクを使用できず、手動で作成する必要があります(分類法名をクリーンアップします)が、それほどではありませんクリーンなソリューション。

3
sharpbites

ビューを作成するには

  1. 適切なフィールド/何でもを持つビューを作成します。
  2. 最初の引数Node:Typeを追加します。
  3. 2番目の引数を追加します。分類:Term
  4. 2番目の引数として、URLでスペースをダッシュ​​に変換します

リストページを作成するには

オプション1

弾丸をかじり、コードでページを作成します。コンテンツタイプと用語を反復処理し、リンクを作成するだけです。

オプション2

分類用語をリストする通常のビューを作成します。ビューでリンクの書き換えを使用して、用語の名前とコンテンツタイプを含み、簡単に識別できるリンクを出力します。例えば。 custom_term_list/news/International Politicscustom_url_rewrite_outbound() を使用して、これを/news/international-politicsに変換します。ここでサイトの速度を落とさないように注意してください。

オプション3

ノードとして用語を使用しますパラダイム。 (これでうまくいくと思います。)各ノードが用語を参照するコンテンツタイプを作成します。これは、taxonomy_node、nat(Node Auto Term)、またはcontent_taxonomy(そしておそらく私が知っている他のすべてのもの)でも実行できます。スペースをダッシュ​​(またはその他)に変えて用語の名前を計算するComputed_Fieldを追加します。その後、リストを作成するのは簡単でしょう。用語が作成されたときにノード用語が自動的に作成されるようにするには、前述の最初の2つのモジュールのいずれかを使用する必要があります。

これらは、リストページを作成するために考えられる唯一のアプローチです。私は最初のものに行くと思います。

1
Andy

これを解決するのに数日かかりましたが、答えはこのビデオにあります

分類法を使用した階層ビューカタログ

https://www.youtube.com/watch?v=y1jqu8JnLbU#t=511

ビューでリライト結果を使用このフィールドをリンクとして出力

分類ビューのタイトルフィールドが分​​類用語にリンクされていないことを確認してください。ただし、フィールドは「カタログ/ [名前]」へのリンクとして出力され、カタログ名をクリックできるようになります。

0
user3350619

Natとtviとともに、コンテンツタイプごとに異なる語彙を使用してそれを行う方法を見つけました。

0
sharpbites