web-dev-qa-db-ja.com

URLを使用してコンテキストフィルターを構成するためのブロックを取得するにはどうすればよいですか?

ブロックにはパスがないので、ページに正しい結果を取得するためにコンテキストをブロックに渡すにはどうすればよいですか?

私は新しいので、8時間自分の質問に答えるだけの十分な評判がありません(図に移動してください!)この質問の回答は、制限時間が切れた後に行われます。

8
Ashlar

ビューページは、URLを読み取り、ページのパスを使用して、コンテキストフィルターの分類用語入力を読み取ることができます。 example.com/a/term/bなどのURLは、ビューページによってa/%/bのパスで読み取られます。 URLの%の値がコンテキストフィルターに渡され、ビューに含めるコンテンツを決定します。

ブロックにはパスがないので、結果を得るにはもう少し設定が必要です。そうするには:

  1. ビューのブロックビューフォームのコンテキストフィルターをクリックします。
  2. When the filter value is NOT availableの下でProvide default valueを選択します。

パス内のページが分類用語である場合は、このステップ3および4を試してください。

  1. タイプドロップダウンボックスからTaxonomy term ID from URLを選択します。
  2. Load default filter from term pageを確認してください。

または、これを試してください:

  1. Raw value from URLを選択します
  2. URLのどの部分が用語であるかを特定します。例えば。 A/term/Bの場合、用語は2番目の位置にあります。

次に:

  1. When the filter value IS in the URL or a default is providedの下で、「検証基準の指定」にチェックを入れます
  2. Taxonomy termと使用されている特定の語彙を選択します。
  3. Filter Value typeの下で、用語IDに変換された用語名を選択してください "
  4. Transform dashes in URL to spaces in term name filter valuesをチェックすると、スペースをダッシュ​​に変換した自動生成パスエイリアスが適切に処理されます。これをオンまたはオフにして、ビューを試してください。

ビューがページに表示されない場合、トラブルシューティングの手順には、ビューのプレビューで入力をテストすることによってビューが機能することを確認することを含める必要があります。手順8の設定と一致するようにスペースが処理されていることを確認してください。また、ビューブロックがadmin/structure/blockで公開されていることを確認してください。

15
Ashlar

分類法ではなくコンテンツタイプに従って選択する場合は、別の設定が必要です。以下を試してください:

  1. コンテキストフィルターをクリックします
  2. コンテンツの追加:NID WHEN THE FILTER VALUE IS NOT AVAILABLEセクションで、Provide default valueを選択してContent ID from URLドロップダウンリスト。
  3. WHEN THE FILTER VALUE IS AVAILABLE OR A DEFAULT IS PROVIDEDセクションの場合、 検証条件を指定、VALIDATOR選択ボックスでコンテンツを選択し、表示することを許可するコンテンツタイプを選択します。

それでうまくいくはずです。

1
Urb Gim Tam