4

我想使用视图来选择内容类型字段中的节点。此视图必须接收作为内容类型的另一个字段的参数。有人可以解释一下如何将参数从字段传递到视图吗?

原谅我糟糕的英语

4

3 回答 3

2

您也许可以使用Views Arguments Extras模块。它将允许视图的参数来自 cck 字段。有关此模块的更多详细信息(来自其项目页面):

该模块包含一组视图处理程序和插件,它们添加了以下选项:

  • 参数 默认当前节点 CCK

    允许将当前节点的 cck 字段值作为默认参数加载

  • 参数默认请求参数

    允许获取和发布参数作为默认值

  • 参数顺序排序

    一个排序处理程序,它允许项目的顺序基于它们在多值参数中的顺序

于 2010-03-22T15:24:37.310 回答
0

我相信您可以使用参数验证来验证参数,此时您可以自由更改 $handler->argument 值,然后再将其传递给 Views。

于 2010-03-16T20:57:17.460 回答
0

如果您只想根据 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。我们将特定的显示作为第二个参数传递给它。第二个参数之后的任何内容都作为参数传递给视图,因此我们将字段的值作为参数传递给视图。有关该功能如何工作的一些文档,请参阅链接。

于 2010-03-17T04:04:06.967 回答