web-dev-qa-db-ja.com

ビューのコンテキストフィルターでの分類

私はdrupalを初めて使用し、現在はビューモジュールを探索しています。おもちゃの店が学ぶためのダミーのWebサイトがあります。次のように分類を作成しました。「カテゴリ」、「年齢」、 "と"ブランド "は語彙で、残りは分類用語です:

  • カテゴリ:活動センター、電子機器、…
  • 年齢:0〜2、2〜4、…
  • ブランド:FisherPrice、V-Tech、…

コンテキストフィルターで渡されたものに応じて、すべてのおもちゃを表示するビューを作成します。たとえば、最初の引数が「ブランド」語彙の用語であり、2番目の引数が「V-Tech」用語である場合、これらに属するおもちゃは http://などのURLで表示されます。 example.com/Brand/V-Tech

コンテキストフィルターで[コンテンツ:分類用語IDがあります]を選択しましたが、次の画面がわかりません。 「検証条件を指定する」チェックボックスを選択しました。バリデータードロップダウンにボキャブラリーオプションはありませんか?これから誰かが私を助けてくれますか?

5
Mansi

taxonomy/term /%の既存のデフォルトビューを複製し、既存のすべてのコンテキストフィルターを削除してから、次のようにします。

  • 「コンテンツ:ノード上の分類用語」という新しい関係を追加しました。
  • 新しいコンテキストフィルター「分類語彙:マシン名」を追加しましたが、設定は一切変更していません。 (ビューモジュールは、以前に定義した関係を既に選択しています。)
  • 新しいコンテキストフィルター「分類用語:用語ID」を追加しました。

「分類用語:用語ID」フィルターには、次の設定を使用しました。

screenshot

ビューのパスを「test-term /%」に変更して、フィードを削除しました。

ビューの設定ページは、説明した変更が完了すると、次のスクリーンショットのように表示されます。クローンしたビューの設定ページと異なる部分をハイライトしました。

screenshot

私が得たのは、マシン名を最初の引数として渡したボキャブラリからの用語を含むノードを示すビューです。

http://tero.local/dr71/test-term/tags の場合(「tags」はテストサイトで定義した語彙のマシン名です)、次の結果が得られます。

screenshot

http://tero.local/dr71/test-term/tags/tags の場合(2番目の「tags」文字列は、「tags」ボキャブラリーが持つ分類用語の名前です)、以下。

screenshot

ただし、最初のケースに表示される重複を除外する方法は見つかりませんでした。これは、ユーザーがノードごとに複数の用語を選択できる語彙でのみ発生します。

ビューはノードに関するものなので、分類用語との関係が必要です。関係がなければ、「分類用語:マシン名」および「分類用語:用語ID」をコンテキストフィルターとして使用することはできません。確認できます。その関係を削除すると、コンテキストフィルターとして追加できなくなります。

7
kiamlaluno