1

我有一个内容类型,可以包含无限的嵌入字段集合实例field_foo,每个集合包含两个字段:field_foo_barfield_foo_baz

field_foo我想修改此内容类型的节点创建表单,以使用现有节点上同一字段的值预填充。

默认情况下,节点创建表单具有:

FIELD FOO

FOO BAR [            ]
FOO BAZ [            ]

...我想设置,例如:

FIELD FOO

FOO BAR [Bar value #1]
FOO BAZ [Baz value #1]

FOO BAR [Bar value #2]
FOO BAZ [Baz value #2]

我怎样才能做到这一点?我觉得我错过了一些直截了当的东西。

我试图简单地克隆空字段集合hook_form_alter()并更改field_foo_barfield_foo_baz值以适应,但它会导致添加/删除行和调整多个增量、权重等问题,这让我看起来像是在叫错树。

4

2 回答 2

0

hook_form_alter 是这样做的正确方法。如果出现其他问题,那是因为您没有正确填充字段,或者因为另一个模块也在您之后编辑字段。在前一种情况下,请查看hook_node_insert中归档的格式。在后一种情况下,更改模块的权重,使其最后触发并确保您的更改覆盖任何其他模块。

于 2013-01-11T16:18:11.497 回答
0

由于字段集合实际上是实体,您是否可以使用 hook_entity_insert() 来检查要插入的实体是否是您的字段集合的实例,如果是,请设置值。

于 2013-01-11T04:27:37.453 回答