我正在建立一个网站,在那里我需要显示一个疾病清单在一个视图,我需要能够显示他们的标题和另一个领域(一个缩写的标题)。但是,这两个字段需要显示为两个独立的节点,它们都链接回同一个节点。
例如:我的使用者需要能够在“免疫抑制药物-器官移植”和“器官移植-免疫抑制药物”下找到“免疫抑制药物-器官移植”疾病。
当我尝试只显示abbreviated_title字段时,当我需要将标题和abbreviated_title作为两个单独的节点显示时,我就会同时显示它们。有人知道我是怎么做到的吗?
下面是图片:我需要这个节点


出现在这里

还有这里

当我单击此搜索框中的适当字母时。因此,它是同一个节点,但需要在视图中显示两个单独的节点。
发布于 2015-08-04 20:45:54
这样做的唯一方法是创建一个自定义实体,或者至少创建一个具有视图集成的自定义表。视图旨在列出每个实体的一条记录(或数据的“行”)。
创建一个每个节点实际具有多行的表。它至少需要两个字段: nid和title,您必须通过实现hook_node_update、hook_node_insert和hook_node_delete来维护该表中的数据。然后,您需要通过基于该表定义自定义实体类型或直接编写视图集成来将该数据公开给视图。
您可以将标题存储在系统中的另一个实体上。字段集合可能是最好的,因为它不会扰乱接口的任何其他部分。
一般的想法是添加一个字段集合字段(field_alternate_titles?)你的疾病实体。字段集合本身实际上只需要一个字段(field_alternate_titles_title?)在基数等于1的情况下,使用Field Collection并不是因为它允许您将字段组合在一起,而是因为它为您可以使用视图查询的每个值创建了单独的实体。您可以将字段集合字段(field_alternate_titles)的基数设置为2,如果希望允许任意数量的备选标题,则可以设置为无限。
你现在可以停下来,让事情变得简单。您的用户将不得不输入他们可能希望在这个领域的疾病的所有标题。这将要求他们重新输入节点标题作为字段集合字段中的附加条目,但这样可以避免编写任何代码。
如果您希望获得更好的用户体验,那么您可能希望执行以下操作:
无论是否编写自动填充字段集合值的代码,现在都需要基于字段集合而不是内容(节点)表构建视图。您可以向主机节点实体添加一个关系,以便从该节点获取所需的任何信息。
另一种可能的方法是使用类似Search的方法,它维护内容的单独索引,当内容被发送到索引时,您可以使用该索引。因此,您可以为每个想要搜索/列表的标题创建单独的索引条目。您可能会发现使用这个模块作为起点是有帮助的,因为它实现了去规范化,这就是您所追求的:https://www.drupal.org/project/search_api接口_分组
发布于 2015-08-04 04:15:13
查看关于创建视图的这 Acquia教程。
发布于 2015-08-04 14:35:48
您可以添加另一个字段标题,然后将有一个长标题字段和一个短标题字段,然后在“视图”选项中添加“长”和“短”字段标题。
https://drupal.stackexchange.com/questions/167677
复制相似问题