Drupal 7 视图中实体引用的字段集合

Drupal 7 视图中实体引用的字段集合,drupal-7,views,Drupal 7,Views,我一直在修补这个问题,并试图研究了几个小时。我仍然对Drupal 7的实体API越来越熟悉,并且一直在尝试使用PHP,但没有任何效果——我想我错过了一些非常明显的东西,这是因为我的大脑过于思考了 我有两种内容类型,CT1和CT2。CT1有一个可以保存多个字段集合值的字段。在此字段集合(Field_coll_ct2)中,其中一个字段(Field_ct2_ref)是对内容类型为ct2的节点的实体引用 现在,当我查看CT1类型的单个节点时,我需要一个块视图,该视图将显示该CT1节点的field_col

我一直在修补这个问题,并试图研究了几个小时。我仍然对Drupal 7的实体API越来越熟悉,并且一直在尝试使用PHP,但没有任何效果——我想我错过了一些非常明显的东西,这是因为我的大脑过于思考了

我有两种内容类型,CT1和CT2。CT1有一个可以保存多个字段集合值的字段。在此字段集合(Field_coll_ct2)中,其中一个字段(Field_ct2_ref)是对内容类型为ct2的节点的实体引用

现在,当我查看CT1类型的单个节点时,我需要一个块视图,该视图将显示该CT1节点的field_coll_CT2 field collection字段中引用的所有CT2节点

我的主要方法是在Content:NID视图中添加一个上下文过滤器,该方法处理过同类关系的非字段集合字段。从这里开始,因为它是一个块,URL参数传递是不可能的(在7-8个不同的内容类型之间,在每个节点的不同元组中,有这么多这样的关系,使用URL传递参数是绝对不可行的)我把它设置为'PHP'和'allow multiple values'类型的'Provide default value',这就是它变得棘手的地方

我需要获取当前查看节点的field\u coll\u ct2字段集合中的所有field\u ct2\u ref实体引用。我试过使用:

$wrapper = entity_metadata_wrapper($entity_type, $entity);
return $wrapper->field_coll_ct2->field_ct2_ref->value();

可能有上百种变体试图让它返回类似于CT2类型节点的实体引用的东西

我似乎无法深入挖掘实体/字段引用,无法找到字段\u ct2\u ref['und'][0]['target\u id'],它适用于所有具有这种关系的非字段集合字段。或者,我收到AJAX错误,告诉我“未知数据属性字段\u coll\u ct2”,或者控制台错误,告诉我试图抛出这些数组对象的每个索引(甚至只是获取其中一个值)都是错误的

有没有更简单的方法?我是否遗漏了一些简单而明显的东西——无论是在我实现视图的方式上,还是在PHP本身上

值得一提的是,我已经能够在没有任何上下文过滤器的情况下缩小视图结果的范围,方法是选择一个与“referencement Entity:field_ct2_ref”的关系,但它显示了任何CT1类型节点引用的所有ct2节点,而不是我正在查看的特定CT1类型节点


谢谢大家!

您是否尝试过在drupal.stackexchange.com上询问?您是否尝试过在CT1的视图中添加新的块视图,将其配置为显示CT2,然后将该块添加到CT1的节点模板中?
$node=menu_get_object(); 
foreach ($node->field_coll_ct2['und'] as $record) 
{ 
$values[]= $record['value'];
} 
foreach($values as $val){
$tgts[]=$val['every'][index]['possible'];
}
return $tgts[omg];