Drupal 7:视图 3:仅显示当前用户的个人资料信息

Posted

技术标签:

【中文标题】Drupal 7:视图 3:仅显示当前用户的个人资料信息【英文标题】:Drupal 7: Views 3: display profile info for current user only 【发布时间】:2012-05-01 18:12:56 【问题描述】:

我正在使用 Drupal 7.12 和 Views 3.3,并且我想创建一个 Views 块以放置在页面上,以显示他们添加到一组自定义配置文件字段中的当前登录用户信息。我创建了字段。意见是问题。

我能够创建一个显示配置文件字段内容的视图块,但它会列出: 1 个数据块,每个用户在这些字段中输入了任何数据,并将其显示给所有人。我只希望它显示当前登录的用户他们自己的数据。

我发现一些关于为“用户:当前”添加过滤器的内容,但我没有此块的此选项。然后我在这里找到了这个项目:

Drupal 7 Views 3 user:current filter is missing?

说我需要先添加“内容:作者”的关系,然后我可以添加“用户:当前”过滤器。我也无法做到这一点。

所以,我决定创建一个新的 Views 块,看看我是否能弄清楚为什么这些选项对我不可用。创建新视图块时,您要做的第一件事就是选择要“显示”的内容,并且有一个“内容”选项,还有一个“配置文件”选项(以及其他几个),但没有办法在此处选择多个选项。在我选择“个人资料”以显示内容之前创建的第一个视图块中,这会删除与内容或其他任何内容相关的所有选项,这就是为什么我无法建立“内容:作者”的关系。我不是在处理内容节点。当我创建第二个视图块来测试它时,我选择了“显示:内容”,并且能够创建“内容:作者”关系,然后能够添加“用户:当前”过滤器。但是在这个视图块中,我无法显示个人资料字段信息。

我们将不胜感激任何帮助!

2012 年 5 月 2 日:在基于“个人资料”的视图块中添加对我可用的过滤器和关系设置的信息。

过滤器选项:

*个人资料:更改日期 - 最近更新个人资料的日期。

*个人资料:创建日期 - 个人资料的创建日期。

*个人资料:标签 - 个人资料标签。

*个人资料:位置 (field_location_us) - 出现在:profile2:main.

*个人资料:主要问题 (field_issue_area_primary) - 出现在:profile2:main.

*个人资料:个人资料 ID - 个人资料的唯一 ID。

*简介:总运营预算 (field_total_op_budget) - 出现在:profile2:main.

*个人资料:组织员工总数 (field_total_staff) - 出现在:profile2:main.

*简介:技术人员总数 (field_staff_tech) - 出现在:profile2:main.

*简介:技术/IT 总预算:(field_budget_tech_total) - 出现在:profile2:main.

*个人资料:类型 - 配置文件类型。

*个人资料:用户 uid - 个人资料的所有者。

添加关系选项:

*个人资料:类型 - 配置文件类型。

*个人资料:用户 uid - 个人资料的所有者。

两个列表中的最后一项(个人资料:用户 uid)似乎是一个显而易见的选择,但是当我尝试时,无论从哪个列表中,我的视图块都没有显示任何信息,即使我确实填写了信息。在事实上,到目前为止我尝试过的每个过滤器和/或关系设置都会导致一个空的 Views 块。我确定我缺少一些东西。

【问题讨论】:

【参考方案1】:

我也在 Drupal 论坛上发布了这个,作为对 Views 模块的支持请求,我在那里得到的信息引导我找到了正确的答案,我也想在这里分享它,以防它帮助其他人.我在 Drupal 论坛上的帖子:https://drupal.org/node/1558544

这是我必须做的(从我的视图块的编辑屏幕开始):

1) 高级(展开右侧部分) 2) 关系 [添加] 3)选择“个人资料:用户uid”并申请 4)下一个屏幕是“配置关系:配置文件:用户uid” - 标识符(管理员标签)框已预先填写“用户”(此处未进行任何更改) - 选中“需要这种关系”复选框 - 应用(保存)

5) 转到“过滤条件”,然后单击“添加”按钮 6) 选中“用户:当前”*,然后单击底部的“应用”按钮 7)下一个屏幕是“配置过滤条件:用户:当前” - “关系”(有一个选项的下拉框):[用户] - “是登录用户:”(是/否按钮):选择“是” - 应用(保存)

8) 在主视图屏幕上,一定要保存它以便在网站上实时工作。

9) 它有效。我现在只能在此视图块中看到当前登录用户的信息!

以前,我从来没有完全正确地完成此配置,因为我从未见过“用户:当前”选项。

非常感谢您引导我回答!

~克里斯汀

【讨论】:

【参考方案2】:

我从您的问题中了解到的是您已经设置了字段,但结果是针对所有用户的。因此,大部分事情已经完成,您只需要添加链接中提到的当前用户的关系。

它的作用是只显示登录的用户数据。在drupal 中,我们得到一个全局变量$user,当您添加关系时,它将被添加到块视图中。

您可以在高级选项卡内的视图块设置的右侧找到该内容。如果是第一次使用,可能会被收起,需要展开。

【讨论】:

感谢您的回复。你说得对,我主要是创建它,我只需要一个过滤器或关系(或其他东西),它只会显示当前用户自己的信息。我尝试设置高级关系,但我没有“用户:当前”选项。它仅限于一些与个人资料相关的选项......我将在上面添加更多信息。这个空间是有限的。

以上是关于Drupal 7:视图 3:仅显示当前用户的个人资料信息的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Drupal 7 视图中使用当前用户作为相关字段?

如何在drupal 7视图中按角色和用户ID显示用户评论

Drupal 8 如何制作仅显示与当前节点相关的分类术语的视图

仅显示与登录用户在同一组中的用户

Drupal 7 - 具有关系和过滤器问题的视图

Drupal 7 列出当前用户所属的有机组