Drupal 7 查看与自定义实体和节点的关系
我有一个自定义实体,它只有一个基表,它被节点及其字段_a引用。现在我想在这两个实体节点和我的自定义实体之间创建关系。我可以得到工作结果,但我没有得到视图字段部分中列出的节点字段 //自定义实体的基表是临床试验研究站点Drupal 7 查看与自定义实体和节点的关系,drupal-7,drupal-views,drupal-views-relationship,Drupal 7,Drupal Views,Drupal Views Relationship,我有一个自定义实体,它只有一个基表,它被节点及其字段_a引用。现在我想在这两个实体节点和我的自定义实体之间创建关系。我可以得到工作结果,但我没有得到视图字段部分中列出的节点字段 //自定义实体的基表是临床试验研究站点 function clinical_trial_views_data_alter(&$data) { $data['clinical_trial_research_sites']['node'] = array( 'title' => t('Clinical
function clinical_trial_views_data_alter(&$data) {
$data['clinical_trial_research_sites']['node'] = array(
'title' => t('Clinical Trial'),
'help' => t('Field Reference Appear in Location Content type.'),
// Information of the referenced table!!
'relationship' => array(
'handler' => 'views_handler_relationship',
'label' => t('Location'),
'base' => 'field_data_field_site_comp_code', // node field table name
'base field' => 'field_site_comp_code_value', // field column name of node field
'relationship field' => 'site_comp_code', // This is referencing field in my custom entity
),
);
}
我可以让sql工作,内部连接工作,但是视图没有列出节点的所有字段,因为我也想显示节点中的一些字段!!。我想我遗漏了一些信息来告诉视图,关系不仅仅是字段表,而且是与整个节点的关系 我通过从entityreference复制一些代码来修复它。我必须为此关系使用不同的视图处理程序,并向该关系添加其他属性
function clinical_trial_views_data_alter(&$data) {
$data['clinical_trial_research']['clinical_trial_research_sites'] = array(
'title' => t('Clinical Trial Research Sites'),
'help' => t('Field Reference Appear in Clinical Trial Research Sites.'),
'relationship' => array(
'handler' => 'views_handler_relationship',
'label' => t('Clinical Trial Research Sites'),
'base' => 'clinical_trial_research_sites',
'base field' => 'study_num',
'relationship field' => 'study_num',
),
);
// The reference field in the node entity is not entity reference , its just a basic text field
$data['clinical_trial_research_sites']['site_comp_code']['relationship'] = array(
'handler' => 'views_handler_relationship_entity_reverse',
'field_name' => 'field_site_comp_code',
'field table' => 'field_data_field_site_comp_code',
'field field' => "field_site_comp_code_value",
'base' => 'node',
'base field' => 'nid',
'title' => t('Referencing entity'),
'help' => t('Field Reference Appear in Location Content type.'),
'title' => t('Location'),
);
}
在Drupal8中,尝试将“base”从“node”更改为“node\u field\u data”。请参阅hook\u views\u data和hook\u views\u data\u alter API文档中的示例代码。