web-dev-qa-db-ja.com

ビュー出力を別の領域にレンダリングする

テーマ設定のために、ビューの出力を別の領域にレンダリングする必要があります。ビューブロックを作成することもできますが、この方法では、コンテキスト引数を渡すことができなくなります。助言がありますか?

2
Dmitry Vyal

私は最近これらの線に沿って何かをしなければなりませんでした。これが私がしたことです:

  1. ビューを作成し、コンテキスト引数「Has taxonomy term ID」を追加します
  2. 「フィルター値が使用できない場合」の下で、「デフォルト値を提供」を選択します-> PHPコード
  3. この下にコードを入力してください:

    $node = node_load(arg(1));
    if($node) {
      $tag = $node->field_primary_tag['und']['0']['tid'];
    return $tag;
    } 
    else {
      return;
    }
    

別の注記-これは1つの分類用語でのみ機能しますが、ニーズに合わせてコードを変更できるはずです。

注*

Nourcyの答えはより多くのDrupalフレンドリーな答えであり、私の答えは私の/あなたの問題に対する迅速な修正でした-PHPブロック/ビューでなどは一般的に悪い考えです:-p

1
Chapabu

ビューには多くのフックがあります。 hook_views_pre_execute を使用するか、別のフックを使用する必要があります。

参照 ここ リスト

1
nourcy