Drupal 7 View 列出登录用户创建的内容

Posted

技术标签:

【中文标题】Drupal 7 View 列出登录用户创建的内容【英文标题】:Drupal 7 View to list content created by logged in user 【发布时间】:2011-08-14 15:29:26 【问题描述】:

我刚刚开始使用 D7,并试图建立一个系统,人们可以在其中添加几种类型的内容并通过节点引用将一种与另一种关联起来。

我只希望用户能够查看和使用他们自己的内容。

为了在 D6 中实现这一点,我使用了节点引用视图。

在 D6 中,我使用了参数:user: uid,如果没有 arg,则使用登录用户的用户 ID。这将返回用户创作的所有内容。

我无法弄清楚如何在 Views 3 中执行此操作?

知道了: 您首先需要添加用户关系,然后您将看到新的过滤器和上下文过滤器 - 其中一个是“当前用户”或类似的东西

【问题讨论】:

【参考方案1】:

这个五分钟的视频也展示了如何做到这一点:http://nodeone.se/sv/node/684

使用上下文过滤器,您还可以将列表显示为每个用户页面上的选项卡(如截屏视频所示)。

如果您对始终显示当前用户帖子的列表感兴趣,您可以改用标准过滤器 - 有一个“当前用户”过滤器可用。

已编辑:原始链接已损坏。我不确定它是哪个视频,但它可能是以下视频之一(都涉及该主题)。

https://vimeo.com/22276809视频导览 https://vimeo.com/33588889练习说明 https://vimeo.com/33588956练习解法

【讨论】:

我在 Drupal 7 视图中看不到任何“当前用户”过滤器。想法? 想通了:1)添加关系 2)保存 3)添加过滤器。【参考方案2】:

对于 drupal 7

上述问题的步骤是

创建一个新的内容视图并将其限制为您想要的内容类型。

取消选中“创建页面”并选中“创建块”。选择你想要的格式;我推荐一个链接标题的 html 列表。点击“继续并修改”。

为“内容:作者 uid”添加上下文过滤器。 在“当过滤器值不可用时”下,选择“提供默认值”,然后从下拉列表中选择“来自 URL 的用户 ID”。因为块不能很好地理解上下文过滤器,如果没有这个默认值,视图将无法正常工作,并且给定内容类型的所有帖子都将显示在所有用户页面上(不仅仅是用户自己的帖子)。 在“当过滤器值可用或提供默认值时”下,选中“指定验证条件”并选择“基本验证”作为验证器。从下拉列表中选择“隐藏视图”。

保存您的视图。

假设您创建了一个块显示,该块现在将在“块”页面上可用。去那里打开它。

将您的块设置为显示在正确区域的所有用户页面 (/user/*) 上。保存块。

您的块现在应该出现在所有用户页面上,显示每个用户编写的内容。

Source

【讨论】:

以上是关于Drupal 7 View 列出登录用户创建的内容的主要内容,如果未能解决你的问题,请参考以下文章

Drupal 7 Commerce Frontpage VIEW 不显示产品

Drupal 8 - 如何在视图中显示当前登录用户未创建的所有内容

drupal 7以编程方式登录用户

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

drupal 7以编程方式登录用户

如何在 Drupal 7 中创建一个仅显示基于当前用户字段的过滤列表的视图