...或者换句话说,如何像在SQL中那样创建一个简单的连接?
假设我想要以下信息:
仅作为一个例子:
他的全名是(内容简介)节点类型'name_and_address',他的爱好是'爱好'。
在SQL中,我会通过node.uid将它们链接在一起。 我已经看过一些关于使用关系的内容,但这与user-node-refs有关。 我只想要一个内容类型和另一个内容相同的用户。
现在我怎么能在1个视图中得到他的名字和爱好?
答案 0 :(得分:2)
这有here如何完成这项工作?
如果没有......
可以使用自定义连接,过滤器等扩展视图。如果您很幸运,将会有一个模块。有些模块甚至提供了自己的视图插件。
你可以编写自己的视图插件,虽然文档有点碎片化。
应该注意的另一件事是观点并不总是答案。有时编写自定义查询和显示处理程序可以轻松完成您想要的任务。
答案 1 :(得分:0)
查看视图的关系部分。这允许您关联(即加入)不同类型的内容(即表格)。对于习惯使用SQL的人来说,这并不是特别直观,但这段视频解释了很多内容。 http://www.drupalove.com/drupal-video/demonstration-how-use-views-2s-relationships
答案 2 :(得分:0)
您可以在模板文件中使用views_embed_view()
手动指定它们的显示位置(并通过扩展程序在另一个视图下方渲染一个视图)。
您可以在自定义模块(modulename_embed_view($name, $display_id)
中覆盖此功能,以便有选择地编辑允许哪些数据进入页面。
例):
function modulename_embed_view($name, $display_id) {
if (strcmp($_GET['q'], 'node/123') === 0) {
$view = views_get_view($name);
$view2 = views_get_view('second view');
$output = $view['some element'] . $view2['element'];
}
return $output;
}
我知道这非常黑客 - 我只想展示如何使用php手动渲染和修改模板文件中的视图。