由于用户是D7中的实体,因此我假设用户类型将内置在“注释”选项中。事实并非如此。我只想允许用户在用户个人资料页面上留下评论。有没有简单的方法可以做到这一点?
由于用户是D7中的实体,因此我假设用户类型将内置在“注释”选项中。事实并非如此。我只想允许用户在用户个人资料页面上留下评论。有没有简单的方法可以做到这一点?
Answers:
您可以使用Profile2,该节点将节点附加到用户配置文件,因此可以对其进行注释,并且对用户看起来像在注释。
我没有尝试过,但是Reply模块看起来真的很好。
答复是对实体评论的D7答复。它不打算取代核心评论模块,更可能是补充了它无法与除节点以外的实体一起使用的功能。
答复基本上是一个具有主题和正文字段的可设置字段实体,这些主题和正文字段被硬编码到模块中,而不是Field API字段。这是因为它是答复/评论的本质。该实体是可设置字段的,因此您可以通过将字段附加到其束中来创建“审阅”或任何您喜欢的对象。
当前在Drupal 7内核中,注释模块仍与耦合node.module
。注释是实体,但不能添加到节点以外的实体。
您可以看到此问题以获取更新:从节点解耦comment.module
我鼓励使用状态http://drupal.org/project/statuses作为“ twitter-facebook”墙样式。它不是“评论”实体,但效果很好。
我也看了一下代码,它写的很好,有很多钩子。
状态还与以下各项集成:视图活动标志规则域Mollom通知消息Pathauto Services Twitter用户点
如果用例是每个用户只能发表一次评论(例如,例如评论)的用例,那么我发现的最佳解决方案是使用标记模块。Flag的7.3版现在可以使用。因此,您将创建一个“添加评论”标志,并添加一个文本字段和您想要添加的其他任何字段。然后,您可以在视图中显示标志的内容。非常灵活,可扩展且非hacky的解决方案。
受到@MotoTribe(此处类似的问题)的启发,我这样解决了它:
您将需要:视图,面板,规则,实体引用和实体引用预填充模块。
设置内容类型user_comments
,删除正文字段(如果不输入,则用户必须输入2个字段:title和body)。注释将成为节点标题(最大长度为255)。添加实体参考字段field_user_reference_comments
。
进行USER视图(名称:)user_comments
,将关系添加到“实体引用”。添加上下文过滤器:User Uid>提供默认值-> Url中的User ID。
内部视图有2个块(我做了内容窗格)。
<a class="" href="/drupal//node/add/user-comments?field_user_reference_comments=[uid]">Add comment</a>
。添加新规则(从此处导入,请确保遵循上述语法):
{ "rules_redirect_on_add_a_user_comment" : {
"LABEL" : "redirect on add a user comment",
"PLUGIN" : "reaction rule",
"OWNER" : "rules",
"TAGS" : [ "user account" ],
"REQUIRES" : [ "rules" ],
"ON" : {
"node_insert--user_comments" : { "bundle" : "user_comments" },
"node_update--user_comments" : { "bundle" : "user_comments" }
},
"DO" : [
{ "redirect" : { "url" : "users\/[node:field_user_reference_comments]" } }
]
}
}
从面板“用户视图”启用。添加正在查看的用户,添加视图的第一个块,添加视图的第二个块。
现在您完成了;它应该很棒。根据需要构建您的视图,然后添加:字段,过滤器,排序等,效果非常理想。