2

分類用語を含むコンテンツタイプがあります。これは選択リストであるため、分類法は1つだけにすることができます。少なくともその語彙は含まれます。次に、同じ分類法を持つすべてのノードを一覧表示するビューを作成する必要があります。

かなり基本的に聞こえるので、これはそれほど難しいことではないと思いました。それでも私はそれを機能させることができません。何か案は?私はこのためのモジュールを書かないようにしています。

4

4 に答える 4

10

これは、他のいくつかの回答で説明されているように、Views 2で技術的に可能でしたが、Views3にはこの統合が組み込まれています。

分類用語IDの引数を作成してから、[デフォルトの引数を提供する]を選択できます。これにより、 「URLから分類用語ID」および「ノードページからデフォルトの引数をロード...」のオプションが提供されます。

これにより、ページの分類法を取得し、それを引数としてビューブロックに渡すことができます。

注:Views3は現在Alpha3ですが、私の経験では比較的安定した状態であり、実稼働サイトで使用しています。上記のような便利な機能がある場合は、それを使用してテストし、問題が発生した場合はバグ/パッチを送信してください。

于 2010-10-13T18:48:27.027 に答える
4

この回答は、Viewsバージョン2以降で機能します。まず、Views attach( http://drupal.org/project/views_attach )をインストールする必要があります。先に進む前に、ビューの添付についてお読みください。ビューの添付は、このビデオhttp://mustardseedmedia.com/podcast/episode37で最もよく説明されています

次に、ビューの添付を取得します。続行する前に、ビューアタッチモジュールを有効にしてください。基本的Views attachに、ノードの最後にビューをアタッチします。私たちの場合、私たちの見解は、同じ用語の他の記事のリストになります。

基本的に、ノードの分類用語をビューに「渡す」必要があります。あなたの語彙の名前をとしましょうMyVocab

ビューを作成する手順。

  1. ビューを呼び出しましょうdisplay_other_articles_with_same_taxonomy
  2. タイプの表示を追加しますNode Content(ビューの添付を有効にすると使用可能になります)。これは、ブロックやページの表示と同じように表示されますが、ノードに接続する特別な機能があります。

で次の設定を行いますNode Content Display

Node content settings
Node types: [select the content types you are interested in seeing the list of nodes with same taxonomy term]
Build modes: Teaser, Full node
Arguments: token
Show title: No

Use tokens from the node the view is attached to[引数]で選択する必要があります。トークンを次のようにします。[term-id]これは「上位分類用語のID」です。これは非常に重要です!!MyVocab基本的に、ノードの分類用語を(http://groups.drupal.org/node/11788#comment-38332を参照)から渡すことになります。重みが最も低い場合、分類法の語彙は、ノード編集フォームの分類法セクションの最初の語彙になります。引数を追加しますTaxonomy: Term Id

興味のあるフィールドを追加しますNode: TitleNode: Titleチェックマークを付けて、がハイパーリンクになっていることを確認しますLink this field to its Node

したがって、このビューが行うことは次のとおりです。

  1. MyVocab現在表示されているノードの語彙から分類用語を取得します
  2. それを引数としてビューに渡しますdisplay_other_articles_with_same_taxonomy
  3. 表示されているノードと同じ分類用語を持つすべてのノードを一覧表示します。

それでおしまい!

ビュー3(執筆時点では現在alpha3)を使用していてブロックが必要な場合(現在、記事の分類用語はノード本体の最後にあります)、次の方法で実行できます。

  1. ビューの添付を忘れてください...その必要はありません
  2. ブロックビューを追加します。上記の表示手順と同じ引数、フィールド、およびフィルターが含まれている必要がありNode Contentます。
  3. Taxononomy: Term Id引数の設定を少し変更する必要があります。[Action to take if argument is not present:選択]で[x] Provide Default Argument。を選択し[x] Taxonomy Term ID from URLます。ここで、選択されていないことを確認し[] Load default argument from term page[x] Load default argument from node page, thats good for related taxonomy blocks.また、語彙[x]Limit terms by vocabularyを選択します。Series
  4. ブロックに名前を付けて、適切な領域に配置してください。

注:この回答は、含まれているノードでNodeQueueブロックを表示する方法で提供した回答のサブセットです。そのシナリオでは、関連する記事が明示的に選択され、特定の順序でリストされることが要件でした。もう少し複雑で、ここではまったく必要のないノードキューを使用します。

于 2010-10-13T18:02:16.203 に答える
2

関係を使用する

  1. ノード1->関係1->用語//これは関係->分類法->用語になります
  2. 用語->関係2->ノード2//これは関係->ノード->ノードになります
  3. NODE1をフィルタリングするための引数NID
  4. 関係2のフィールドまたはノードの全文(使用するノードを決定するために、フィールド追加フォームに選択ボックスが表示されます)
于 2010-10-13T17:15:56.523 に答える
1

ビューには、フィルターを追加するためのオプションがあります。ビュー管理UIのフィルター領域でプラス記号をクリックし、リストから分類法を選択し、用語またはIDのいずれかをチェックして、フィルターに必要な値を入力します。

編集(明示的な指示の場合):

  1. まず、ノードのタイトルなど、フィルタリングしようとしているノードから表示するフィールドセクションの下に必要なフィールドを追加します。

  2. [引数]で、プラス記号をクリックして[分類法]を選択します

  3. 分類法:用語を確認し、[追加]をクリックします

  4. [更新]をクリックします

プレビュー領域で、引数を追加して[プレビュー]をクリックしてテストします。それが機能しない場合、ノードに分類法が添付されていないか、ビューモジュールが破損しているか、指示に従わなかった。

于 2010-10-13T15:00:34.523 に答える