0

我需要实现的结构:

  1. 一个节点引用了多个 person 类型的分类术语。
  2. 一个人在每个节点扮演一个特定的角色。
  3. 此角色与不同节点上的此分类术语角色不同。
  4. 分类术语不必指定角色,因此角色也可以为空。

一个更好地描述所需行为的示例:

  1. 电影包含作为演员的分类术语。
  2. 演员在节点 A 上具有角色“万磁王”,在节点 B 上具有角色“甘道夫”。

我现在能想到的可能的实现方式:

  1. 使用以下字段将自定义表 nid_tid_role_mapping 添加到 drupal 数据库:nid、tid、role_name
  2. 挂钩 node_presave 并获取所有参与者分类术语。
  3. 只获取以下格式的“演员姓名(角色)”(fe“Ian McKellen(万磁王)”)
  4. 将 nid、tid 和角色添加到表 nid_tid_role_mapping
  5. 添加角色、nid 和 tid 后,将分类术语重命名为“Actor Name”。
  6. 在节点编辑表单中添加一个特殊的表格,其中列出了该节点的术语名称/角色映射。

我的方法对我来说似乎有点矫枉过正。有没有可以帮助我的模块?我什么都没找到...

4

1 回答 1

0

如何创建两个词汇表,一个“演员”和一个“角色”词汇。“电影”类型的节点引用“角色”(可能还有“演员”),词汇“角色”引用“演员”词汇。

或者另一种方法是创建节点类型而不是分类术语,并使用“实体引用”模块在它们之间创建关系。如果您想避免获得多个“詹姆斯邦德”条款(每个演员一个),这可能是一个更好的解决方案。

过去我也尝试过“relation”模块,但它对我的需求来说太复杂了,而且它不像“entityreferences”那么受欢迎

于 2014-10-29T12:48:29.910 回答