如何解决如何在drupal 7中将自定义数据类型用作字段?
| 我在drupal 7中有几种自定义数据类型 餐厅 菜单 食谱 厨师 我想在此数据厨师之间创建关联->餐厅->菜单->食谱 这样食谱可以得到厨师的名字和餐馆的地址 和菜单可以获取食谱列表等 在sql领域中,我将其称为外键,但是在drupal 7中查找如何执行此操作存在很多问题。 我怀疑必须有一些我不熟悉的模块或功能。但是drupal使用它自己的行话,我认为我对我的google-fu感到失望 有人知道我在找什么吗?解决方法
这些可能不是数据类型,但很可能是内容类型。您正在寻找的是
一种将一种内容类型的节点(即内容)与另一种内容类型(厨师与餐厅,菜单与餐厅,食谱与菜单等)相关联的方法。
当显示特定节点时,一种显示来自相关节点(直接或间接关系)的信息的方法。
节点之间的关系可以使用“参考”模块(Drupal 6的CCK中包含的“ 0”模块的Drupal 7端口)实现。这样,您可以在编辑另一个节点时向节点添加引用。该关系可以配置为仅允许引用指定类型的节点。这些参考不是双向的,只能(轻松)从参考者节点导航,而不能从被参考节点导航。在Drupal 6中,节点引用者提供了一个补充字段来双向导航关系。不幸的是,它尚未(尚未)移植到Drupal 7。
引用可能会在不久的将来被弃用,转而使用实体引用模块。实体引用可通过视图以及与Entity API模块的正确集成来提供双向查询。后者应确保使用实体元数据(Seach API和其他),模块中定义的关系可以完全(问题地)导航和与模块一起使用。
关系模块是另一个也使用实体系统的解决方案。它提供了完整的双向关系。这些关系本身就是可现场访问的实体,这意味着您需要向关系中添加属性(例如,厨师在餐厅开始和结束工作的日期)。
一旦获得关系,就有多种方法可以在节点页面上显示相关信息。我不以Relation为名,但如果Reference的行为类似于Drupal 6版本,它将只允许基础知识显示直接相关节点的信息。一种解决方案是在自定义模块中实现“ 1”以导航关系,检索不同的节点,使用自定义主题挂钩格式化收集的信息并将其添加到“ 2”以进行渲染。
由于实体引用与视图集成在一起,因此您应该能够构建一个视图以显示与当前显示的节点相关的节点(使用当前节点作为上下文参数)。然后,您可以将视图以编程方式嵌入到节点视图中(再次通过
hook_node_view()
)或使用块显示。
, 在Drupal 6中,您将使用CCK项目的名为Node Reference的子模块。节点引用是一种内容类型中指向另一个节点的字段。在Drupal 7中,由于大多数CCK的功能已移至核心,因此Node Reference子模块现已成为References项目的一部分。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。