我正在使用 注册 模块,我希望创建一个视图,以显示为每个事件注册的用户的所有事件和头像(默认的Drupal用户图片字段)。

这是我试图实现的模型。到目前为止,除了化身之外,我还有一切。

查看模型

看到我到目前为止的视图出口

有帮助吗?

解决方案

这样做是将视图推向其限制。您想删除大量数据并按节点ID进行分组。我不确定是否可以通过视图接口进行所有这些可能,尽管我相信正在运行视图的引擎将是可能的。

您可以使用更多和更简单的查询来实现这种相当复杂的视图,这可能会变成某种东西,而是很难修改。如此简单的解决方案可以看起来像:

  1. 您可以创建一个简单的视图,该视图显示除注册以外的所有信息。 (节点标题等)
  2. 注册已经有一个视图,它将显示注册活动的人。经过一些修改,您可以使其显示已注册活动的用户的头像。然后,您可以将此视图嵌入到步骤1中创建的视图的预处理函数和/或模板中。
  3. 你完成了。

理想的 事实是在单一视图中创建所有这些,但是有时您必须考虑成本将与收益相比。我怀疑您是否能够衡量任何性能差异,除非您列出了数百个带有注册的节点。但是,您这样做的时间很多。

视图本身是相同的,它效率低下,但是(对于大多数站点)没有什么重要的,它使我们能够节省大量时间,而不必编码查询,主题功能等。

更新:

用参数嵌入视图(如节点ID)非常简单:

$html = views_embed_view($name, $display_id, $arguments)

或您的情况

$html = views_embed_view('signup_user_list', 'default', array('nid' => $nid));

其他提示

创建一个名为“事件”的“组”。您不需要安装所有OG模块,只需几个。您无需创建组内容类型:您只需要一个“事件”即可。
人们创建活动并加入活动。进入小组默认许可,并通过允许人们加入活动而无需订阅而公开集团。

您可能需要使用“字符串替换”模块来轻松自定义您喜欢的某些语言,或者超越组主题功能。 “字符串替换”是简单而快速的,但可能有点过于通用(取决于您)。要么可以帮助您按照自己的意愿加入语言。模板过度骑行将使您可以对用户界面进行其他更改。

使用视图和自定义模板。tpl.php!完毕!它的快速,轻巧且容易。用户永远不会知道他们正在加入一个“组”,而您获得的结果将与您想要的完全匹配。非常简单!

如果尚未将用户参考添加到您的内容类型中,则它不包含其中的内容,并将其包含在您的视图中。

许可以下: CC-BY-SA归因
scroll top