ビューを使用して、コンテンツタイプフィールドのノードを選択したいと思います。このビューは、コンテンツタイプの別のフィールドである引数を受け取る必要があります。誰かがフィールドからビューに引数を渡す方法を教えてもらえますか?
すみません、私の貧弱な英語
Views Arguments Extrasモジュールを使用できる場合があります。ビューの引数を cck フィールドから取得できるようにします。このモジュールに関する詳細 (プロジェクト ページから):
このモジュールには、次のオプションを追加するビュー ハンドラーとプラグインのグループが含まれています。
引数 デフォルト 現在のノード CCK
現在のノードの cck フィールド値をデフォルト引数としてロードできるようにします
引数のデフォルトのリクエスト パラメータ
get および post パラメータをデフォルト値として許可
引数の順序の並べ替え
複数値の引数の順序に基づいて項目の順序を設定できるようにする、並べ替えハンドラ
引数の検証を使用して引数を検証できると思います。その時点で、Viewsに渡される前に$handler->argumentの値を自由に変更できます。
CCK フィールドの値に基づいてビューの表示内容を変更したいだけの場合、私が見つけた最も簡単な方法は、 を使用してビューをテンプレートに埋め込むことviews_embed_view()
です。テンプレートファイルで次のようなものが機能すると思います:
//Use the dsm function to print out your $node object
//to get the name of the field you want to pass as an arg
//like this: dsm($node);
//Assuming that the value of that field is in $node->cck_field['0']:
print views_embed_view('name_of_view', 'name_of_display', $node->cck_field['0'];
views_embed_view()
機能するために必要なのは、ビューの名前である最初の引数だけです。名前付きビューのデフォルト表示用の HTML を返します。2 番目の引数として特定のディスプレイを渡します。2 番目の引数より後のものは引数としてビューに渡されるため、フィールドの値を引数としてビューに渡します。関数の仕組みに関するドキュメントについては、このリンクを参照してください。