繁体   English   中英

Drupal:当节点的cck字段具有该用户的配置文件节点标识时,显示与该配置文件相关的节点

[英]Drupal: Showing nodes related to a profile when a cck field of those nodes have the profile nodeid of that user

我需要在特定页面内显示与每个用户的配置文件节点相关的特定节点类型的所有节点。 这就是我所拥有的:

  • 具有其用户标识的用户(示例uid A)
  • 每个用户的个人档案节点(示例节点ID B)
  • 多个reg节点,其cck字段包含配置文件节点的nodeid(示例cck字段C)

我需要在页面内显示在cck字段B中具有节点ID A的所有reg节点。对于每个用户。 因此,我进入一个页面usersregnodes / uidA并查看与该用户相关的所有regnode,因为在其cck字段C中,他们获得了节点nodeidB,即该用户的配置文件nodeid。

我在关系和争论中挣扎。 到目前为止,我认为我应该创建一个关系Node:Content Profile。 过滤器应为reg节点类型。 并且参数应为用户标识(?)。 我无法完成这项工作,因为我尝试过的所有组合以及尝试和错误都会导致结果空白。

我将衷心感谢您的帮助! 谢谢! 罗萨蒙达

您可以使用视图来完成此操作。 诀窍是更改参数验证。

如果我得到了它的权利,你需要通过UID作为参数传递给一个视图,但得到引用的特定UID的内容配置文件的NID的节点。

为此,您需要构建视图并使用自定义验证器设置参数。

如下构建视图:

  1. 这是一个节点视图;
  2. 设置一个参数。 选择包含您的参数nid的节点引用字段;
  3. 在参数配置屏幕中,查找“验证程序选项”;
  4. 选择“ PHP代码”而不是“基本验证”;
  5. 使用以下代码(不要使用php的开始和结束标签):

     $prev_arg = $handler->argument; $handler->argument = content_profile_load('content_type_name', $prev_arg)->nid; return $handler->argument; 

这样,您应该能够将参数的值从uid更改为内容概要文件nid,并获得由nid过滤的视图结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM