Answers:
在Drupal 7中,您可以使用此代码。
对于查看页面
print views_embed_view('name_of_view','page_1', $node->nid);
对于视图块
print views_embed_view('faculty_core','block_1', $node->nid);
要在节点模板中显示视图,请使用以下代码。
// Load the view.
$view = views_get_view('machine_name_of_view');
// Set the active display.
$view->set_display('your_view_display_name');
// Set any needed argument.
$view->set_arguments(array(arg(0), arg(1)));
// Execute the view.
$view->execute();
// Render the view.
print $view->render();
pre_execute()
之前execute()
。
一种解决方案是使用Panelizer覆盖相应节点的内容。
例如,假设您有少量的一次性页面需要附加视图。
1)您可以使用Page内容类型,也可以创建专门用于面板化的新内容类型。
2)为该内容类型启用Panelizer,确保将其设置为“允许每个记录显示选择”,这样您就可以设置将针对每页关闭量身定制的多个Panelizer显示。(每个拼版器的显示都可以附加自己的视图集)
3)从这里您只需创建一个视图(我喜欢为此使用“内容窗格”)并将其添加到所选的Panelizer内容显示中。
这使您可以重用一个真正不需要它自己的字段集的单一内容类型,但是可能会用于引用其他实体(作为字段)或引用视图。
进入“ 段落”模块,您将拥有“瑞士军刀”内容类型。说来,这将为用于此目的的自定义内容类型起一个完美的称呼……嗯……。
views_field_formatter是一个非常可配置的Drupal 7和8模块,它允许您将视图嵌入为字段格式化程序。