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


8

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

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


同様の問題があります。:うまくいけば、誰かがそれで私を助けることができるdrupal.stackexchange.com/questions/27818/...
user6670

回答:


15

ビューページは、URLを読み取り、ページのパスを使用して、コンテキストフィルターの分類用語入力を読み取ることができます。などのURL example.com/a/term/bは、パスがのビューページによって読み取られます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用語第二の位置にあります。

次に:

  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


私は2つの分類語彙を持っています。コレクションcoll1、coll2、coll3サイズ小、中、大私のURLは次のようになります:collections / coll1 / small説明した方法を使用しようとしましたが、結果が得られません。何か案が?
SiLENCEの叫び2012年

あなたの見解についてもっと情報が必要でしょう。質問を追加して、設定したフィールド、フィルター、コンテキストフィルターを説明しませんか。
アシュラー

1

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

  1. コンテキストフィルターをクリックします
  2. コンテンツの追加:NID [ フィルター値が利用できない場合]セクションで、[ デフォルト値提供]を選択し、ドロップダウンリストの[ URLからコンテンツID]を選択します。
  3. 上のフィルタ値が入手可能であるか、またはDEFAULTを設けた場合 のセクションを、選択検証基準を指定して、選択したコンテンツ VALIDATOR選択ボックス上を、そしてあなたが表示されることを許可内容はタイプを選択します。

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


検証は成功しましたが、NIDをフィルタリングしていませんか?コンテキストフィルターとの関係を作成する必要がありますか?
Sonicthoughts、2015
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.