0

私は 2 つの語彙 (男 と 女性) とそれらに関する用語を持っています。

これらの用語は、男性と女性のコンテンツ タイプのフィールドとしても使用されます。ここで、以下のようにコンテキスト フィルターを使用して、コンテンツ タイプでコンテンツをフィルターし、それらの語彙の用語をビュー モジュール ( ギャラリー名のカスタム ビュー) でフィルター処理します。

http://mysite.com/gallery/content-type/(Man or Woman)'s terms

このようなもの :

1 - http://mysite.com/gallery/men/jean
2 - http://mysite.com/gallery/women/jean

最初の url "jean" タームはボキャブラリー Man 用で、2 番目の url "jean" タームは語彙 Woman 用です。

3 つのフィルターを追加する必要があります。1 つはコンテンツ タイプ用で、もう 1 つは女性の用語用、もう 1 つは男性の用語用です。ただし、2 つの男性語彙と女性語彙は 1 %でフィルタリングする必要があります。

この種のパスgallery/%/%を使用することで作業を行う必要があることはわかっていますが、URLの 2 番目の%にある 2 つの語彙の用語からのフィルタリングが問題です。

任意の助けをいただければ幸いです。

4

1 に答える 1

0

「tid from term name」で検証する分類フィルターを使用すると、ビューは URL #1 と #2 の「jean」を区別できません。

これを解決する手っ取り早い方法は、gallery/men/% と gallery/women/% の 2 つのビューを使用することです。

それらは、適切な語彙によって検証するように設定する用語フィルターを除いて同一です。(コンテンツ タイプの通常のフィルターも異なります。)

これをプログラムで解決するには、最初のコンテキスト フィルターを 2 番目のフィルターへの入力として使用し、語彙で制限できるようにする必要があります。たとえば、次のようなもの

$vocabulary = $view->args[0];  // assuming this is the machine name
$term = taxonomy_get_term_by_name($view->args[1], $vocabulary);

return (!empty($term)) ? $term->tid : 0;
于 2013-03-22T15:49:09.047 に答える