Drupal将分类术语映射到每个节点的一个特定角色



我需要实现的结构:

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

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

  1. 电影包含演员的分类术语
  2. 演员在节点A上扮演"万磁王",在节点B上扮演"甘道夫"

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

  1. 将自定义表nid_tid_role_mapping添加到drupal数据库,其中包含以下字段:nid、tid、role_name
  2. 钩住node_preseve并获取所有actor分类术语
  3. 只获取以下格式的"演员姓名(角色)"(例如"伊恩·麦凯伦(万磁王)")
  4. 将nid、tid和角色添加到表nid_tid_role_mapping
  5. 添加角色、nid和tid后,将分类术语重新命名为"Actor Name"
  6. 在节点编辑表单中添加一个特殊的表格,其中列出了该节点的术语名称/角色映射

对我来说,我的方法似乎有点过头了。有没有一个模块可以帮助我?我什么也找不到。。。

创建两个词汇表,一个"actor"词汇表和一个"character"词汇表怎么样。类型"movie"的节点引用"character"(可能是&"actor"),词汇表"character"引用"actor"词汇表。

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

在过去,我也尝试过"关系"模块,但当时它对我的需求来说太复杂了,而且不像"实体引用"那样受欢迎

相关内容

最新更新