1

にビューを埋め込みたいtpl.phpので、この関数を使用していviews_get_view('VIEWNAME')ます。

これが私がしていることですtpl.php

<?php
   $view = views_get_view('MapView');  
   print $view->preview('default');
?>

" MapView"はビューの名前です。の引数がviews_get_viewマシン名または人間が読める形式の名前かどうかはわかりません。実際、私の例では、人間が読める形式の名前を使用しています。これは、drupalビューの構成でマシン名が見つからないためです。 。

とにかく、「Fatal error: Call to a member function preview() on a non-object」というエラーが表示されます。ビューを正しくフェッチしなかったようです。

何か案が?

4

2 に答える 2

4

ビューURLの編集から簡単に取得できるビューID。他のキーと同様に、アンスコアと小文字で構成されます。また、必要な場所にビューを出力するには、次のことを試してください。

$view = views_embed_view('view_id', $display_id = 'block');
print $view;

それはノードコンテンツのために私のために働きました、私は私のモジュールで必要なタイプのノードにビューを追加しました:

function YOUR_MODULE_node_view($node, $view_mode, $langcode) {
  if($node->type=="type"){
  $view = views_embed_view('view_id', $display_id = 'block');
  $node->content['myfield'] = array(
    '#markup' => '<h3>Title</h3>'.$view, 
    '#weight' => 1,
  );

  return $node;
  }
}
于 2012-05-19T21:02:53.777 に答える
0

古い質問ですが、同じ問題が発生していて、正しい答えが見つかりませんでした。マシン名を使用する必要があり、大文字と小文字が区別されます。これは、データベースの「name」フィールドのviews_viewテーブルにあります。

于 2017-02-17T11:39:01.970 に答える