私のサイトには2つの分類があり、異なるビューを使用して個別に参照できる必要があります。そのため、用語パスに語彙名を付加することにしました。 PathAutoパターンセクションで私が定義しました:
[term:vocabulary:name]/[term:url:path]
パスは私が望むように見えます:
vocabname/taxonomy/term/tid
ただし、ビューは機能しません。パス用に生成されたページ
vocabname/taxonomy/term/%
どういうわけかジャンプしません。この用語でタグ付けされたコンテンツがないというエラーが表示されますが、ビューには子の用語のティーザーが表示されるはずです。
それで、あなたは私の側に間違った仮定があると思いますか?それでうまくいくでしょうか?
OK、それで誰かが同じ問題に遭遇した場合のために。私の責任です。分類表示はうまく機能します。それは語彙を区別し、私のPathAutoパターンは触れる必要がありませんでした。私が注意しなければならない唯一のことは、最終的なコンテンツノードのリストを担当するビューでコンテキストフィルターのデフォルト値を提供することでした。デフォルト値は、分類IDとしてURLから取得する必要があります。それでおしまい。
はい-あなたはこれに非常に近いですが、pathautoパスがここのビューによって認識されていないことは正しいです。これを克服するには、ビューの引数処理コードに「デフォルト引数」を追加し、PHPコードを使用して、文字列の末尾から用語IDを渡す必要があります。
使用しているトークンのバージョンから、Drupal 7/Views 3、正しいですか?そうである場合、これを以下に追加することになります
コンテキストフィルター->コンテンツ:分類用語IDがあります->デフォルトの引数を提供-> PHPコード
次に、phpコードセクションに次のコードを追加します。
$path = isset($_GET['q']) ? $_GET['q'] : '';
$path = explode('/', $path);
return $path[3];
これにより、現在のパスが配列として取得され、3番目の要素またはTIDが返され、ビューに渡されます。