当我们去的路径/admin/structure/types/manage/article/fields
,并使用Add new field
选项或Add existing field
选项,是否创建一个字段,创建字段实例或附加字段实例?如何区分它们?因此,以编程方式,何时使用field_create_field,field_create_instance和field_attach API?
在字段API文档中,它仅提及管理UI,从不谈论创建字段和字段实例的路径。因此令人困惑。我什至不知道我是否有意义。
:这应该神秘化它dikini.net/31.08.2010/...
—
克莱夫
通常情况下,您添加的每个字段都会在数据库中创建一个新字段,而当您添加现有字段时,它不会创建新表,而只是将其添加到现有表中。
—
Mohammed Shameem
@Mohammed Shameem,谢谢你,那么一个实例是什么?用例是什么?或者更确切地说,我们在现实中使用它吗?
—
Eugene Gerome
如果目的是或功能将相同,则最好使用相同的字段实例。例如,您具有不同的内容类型,并且要添加相同的分类标准词汇。最好将相同的字段添加到所有内容类型,而不是为每种内容类型创建不同的字段。在内部,这将减少由drupal构建的表的数量。并搜索词汇表会变得更好。
—
Mohammed Shameem
因此,我们在路径
—
Eugene Gerome
node/add/article
上看到的字段是字段实例(可以在几种不同的实体类型中重用)。而路径/admin/structure/types/manage/article/fields
处的字段就是字段。在数据库中,我看不到字段实例表,而只看到field_data表,我猜想,当我们第一次/admin/structure/types/manage/article/fields
使用path在path上创建字段时会得到它field_create_field
。然后将实例附加到我们在path上看到的包(在本例中为文章)node/add/article
。