创建显示所有事件和已注册每个事件的用户的视图 -- 7 领域 和 views 领域 和 users 领域 drupal 相关 的问题

Creating a view that shows all events and the users that have signed up for each event


2
vote

问题

中文

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

这里是我想要实现的内容的样机。到目前为止,我拥有一切,而是头像。

查看mockup

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

英文原文

I am using the Signup module, and I am looking to create a view that shows all events and the avatars (default Drupal user picture field) of the users that have signed up for each event.

Here is a mockup of what I am trying to achieve. I have everything but the avatars so far.

View Mockup

See export of the View I have so far

        
 
 

回答列表

1
 
vote
vote
最佳答案
 

这样做是推动它的景色。您希望通过节点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));   
 

Doing something like this is pushing views to it's limits. You want to pull in a lot of data and group it by the node id. I'm not sure if all this is possible through the views interface, though I believe it will be possible with the engine that's running views.

Instead of trying to achieve this rather complex view, which may become something, that's hard to modify, you could do this quite easily using more and simpler queries. Such a simple solution could look like this:

  1. You could create a simple view, which display all the info except the signups. (Node title etc)
  2. Signup already has a view, which will display the people that signed up for an event. With a little bit of modification, you could make it show the avatar of the users that has signed up for an event. Then you could embed this view in either a preprocess function and/or a template for the view you created in step 1.
  3. You're done.

The ideal thing would be to create all of this in a single view, but sometimes you have to think about what the cost will be compare to the gains. I doubt you will be able measure any performance differences, unless you list hundreds if nodes with signups. But the time you save doing it this way is quite a lot.

This is the same with views itself, it's inefficient, but nothing important (for most sites) and it allows us to save lots of time, not having to code queries, theme functions etc.

Update:

Embedding a view with arguments (like node id) is pretty simple:

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

Or in your case

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

创建名为"事件" 的"组" 。您不需要安装所有OG模块,只需几个。您不需要创建组内容类型:您只需要一个"事件" 。
人们创造活动并加入活动。进入组默认权限,并通过允许人们在不订阅的情况下加入该活动进行组公众。

您可能希望使用"字符串替换" 模块来轻松自定义您喜欢的某些语言,或过度乘坐组主题功能。 "字符串替换" 很简单快速,但可能有点过于普遍(由您决定)。要么有助于让加入的语言就像你想要的那样。模板过度骑行将允许您对用户界面进行其他更改。

使用视图和自定义模板.TPL.php!完毕!它快速,重量轻,容易。用户永远不会知道他们正在加入"群组" ,结果您可以完全匹配您想要的。轻松饼!

 

Create a "Group" named "Event". You don't need to install all of the OG modules, just a few. You dont need to create a group content type: you simply need an "Event".
People create Events and join Events. Go into group default permissions and make the group public by allowing people to join the event without subscribing.

You may want to use the "String Replace" module to easily customize some of the language to your liking, or over-ride the group theme functions. "String Replace" is simple and fast, but can be a bit too universal (it's up to you). Either can help make the language of joining to be just as you want. The template over-ride will allow you to make additional changes to the user interface.

Use a view, and a custom template.tpl.php! Done! Its fast, light weight and easy. Users will never know they are joining a "Group" and the results you get will exactly match what you want. Easy as PIE!

 
 
         
         
0
 
vote

如果尚未包含一个用户类型,请向您的内容类型添加一个,并将其包含在与关系的视图上。

 

Add a user reference to your content type if it doesn't already include one and include it on your view with a relationship.

 
 

相关问题

2  Front页面模板文件的文件名  ( Filename for the front page template file ) 
如何仅为首页创建主题? 我只想改变内容区域中的内容,但留下与page.tpl.php相同的其余部分。 ...

27  如何将模块添加到Admin / Config页面?  ( How to add module to admin config page ) 
我在drupal 7中工作。我添加了一个hook_menu实现: -i1 --i2 --i3 --i7 2 ...和配置行到mymodule.info: -i1 --i2 --i3 --i7 3 a 配置 mymodule的链接现在出现 admin / module 页面,但如何在 admin /...

10  如何* .drupal.org单点登录作品  ( How drupal org single sign on works ) 
我相信在Drupal中有很多方法可以在鼠尾风中实现单一登录。我想知道* .drupal.org网站一直在使用的方法。如果我访问任何Drupalconf网站 http://chicago2011.drupal.org/user 或 http://london2011.drupal.org/user 它使用Drupal....

1  注册并在线支付  ( Register and pay online ) 
我希望我们的网站可以注册。 这样的注册是:在用户字段之后填写注册页面进入付费。如果在用户数据库中付款是成功的记录,则放置。 这些付款是:当银行支付的用户时,将提交给我的网站。 必须支付此记录的几个字段以便发送回银行。 ...

0  仅当用户输入曝光字段的值时,才显示视图结果  ( Show the view result only when users enter a value for the exposed fields ) 
我希望只有当用户在公开的表单字段中输入值时,才会显示其结果。有没有办法,我可以完成这项工作? 我正在使用ajax,并且视图显示为块。我尝试的大多数选项都不起作用。 ...

2  什么是上下文链接?  ( What are the contextual links ) 
drupal 7定义"使用上下文链接" 权限。哪个链接定义为上下文链接? ...

7  节点显示中的分类系统  ( Display taxonomy field in node display ) 
我创建了一个词汇,其中术语有图像作为附加字段。 我想在节点页面中显示图像而不是术语名称。我该怎么办? 在Drupal 6.x中,我会加载这个术语并显示它,但我猜在Drupal 7与Field API必须有更好的方法来执行此操作。 ...

1  相当于drupal_set_content()?  ( What is the equivalent of drupal set content ) 
我正在寻找相当于 drupal_set_content() for drupal 7,以将块分配给一个区域。你有什么想法吗? ...

1  Ajax用户名检查器的模块  ( Module for ajax username checker ) 
如果用户名可用,则在有基于AJAX的测试中是否有D7模块,以相同的方式在 https://en.wordpress.com/signup/ ? ...

1  多个主要键  ( Multiple primary keys ) 
我已经定义了一个新的内容类型, 99887660 和cck字段, state 。 我需要在此表中使用CCK字段作为主键,因为我有另一个表,我需要使用该字段作为外键。 (此代码和表格不是drupal,我自己写了它,但它使用drupal表。)我应该将状态字段更改为"StateType" 表中的主键,但Drupal已定义 ...

0  显示节点翻译  ( Displaying node translations ) 
我在我的网站上启用了多种语言,已经安装了以下模块:locale&内容翻译。 我在英语中创建了一个简单的页面,并为此节点添加了多个翻译。 现在,当我在单独的页面上查看节点时,它在语言中显示在语言切换块中选择的。 但是如果我在前页(/节点)上的节点或分类页面(分类学/术语/%)已经显示了此节点的所有翻译。 是否可...

2  我需要从下拉下来解除术语  ( I need to unset terms from the drop down ) 
我正在编写一个模块以使用d6 hook_form_alter() 解除分类术语。该对象仅介绍他们创建自己的当前用户术语。 麻烦的是,我不知道哪些变量更改。我认为它应该是 resources: 'entity:node': GET: supported_formats: - h...

3  每个角色的单独管理页面  ( Seperate admin page for each role ) 
我在我的网站上有几个角色,每个角色都有不同的责任。如何为每个角色或访问级别创建单独的管理页面? ...

2  如何在块中显示已暴露的表单中的翻译术语名称  ( How to display translated term names in exposed form in block ) 
所以我有一个观点页面,显示特定内容类型的节点列表。此视图具有在块中暴露的过滤器表格。 表单中的一些过滤器是词汇表。我正在使用 bef 模块,以将每个词汇表的术语显示为复选框而不是默认选择列表。 术语已翻译 - 我正在使用 i18ntaxonomy ,词汇表已选择此选项:本地化术语。术语对于所有语言很常见,但它们的名...

1  将邮件发送到在节点创建表单中指定的地址,其中包含带有规则的CCK电子邮件字段  ( Sending mail to an adress specified in a node creation form with an cck email fi ) 
我正在使用节点创建表单向匿名用户打开匿名用户来注册一个事件的志愿者,我想将它们重定向到谢谢页面,并在注册时发送电子邮件。 我正在使用规则来检测志愿者节点的提交,并触发重定向到谢谢页面,但我无法弄清楚如何向提交表单中指定的地址发送邮件。 ...

2  如何在组内包含内容类型的标题字段?  ( How to include the title field of a content type inside of a group ) 
创建新内容时,是否可以在ME定义的组内部具有字段标题? ...

6  在节点引用中,如何显示自定义字段,而不是标题?  ( In node references how to show a custom field instead of the title ) 
在参考节点时是否可以在选择列表中显示另一个字段而不是标题? ...

2  覆盖参数  ( Overlay arguments ) 
我正在使用有机组,我为用户提供了一个为当前组创建内容的链接。我通过给出道路 node/add/grouptype?gids_node[]=1891 。 此工作正常,因为默认设置组。但是,我无法在叠加层上工作通过正确传递。 你有什么想法吗?我找不到任何文件。 ...

4  如何设计使用视图创建的页面  ( How to design a page created using views ) 
我在视图模块的帮助下创建了一个页面,它是完美的作业。 我需要自己设计页面。 如何这样做? ...

1  如何控制用户生成的内容已发布状态?  ( How do i control user generated contents published state ) 
我想允许用户将内容提交到我的网站,但内容必须首先批准,然后可以发布。 有人告诉我写一个模块,但我不知道要关注哪个步骤。 让当前用户看到他发布的内容,仍未获得批准。 此外,创建一个表单以允许当前用户编辑节点。 有谁知道如何编写此类模块? ...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有


Licensed under cc by-sa 3.0 with attribution required.