我正在尝试为我正在从Drupal 6迁移的模块创建.install。它需要两个“配置文件字段”,在drupal 6中,它会自动检查并创建。
要将它升级到drupal 7,我正在尝试使用字段进行此操作!够容易吗?
到目前为止我已经
了if(!field_info_field('user_fullname')) {
$field = array(
'field_name' => 'user_fullname',
'type' => 'text',
'settings' => array(
'required' => TRUE,
),
);
field_create_field($field);
$instance = array(
'field_name' => 'user_fullname',
'entity_type' => 'user',
'label' => 'The user\'s full name',
'bundle' => 'additional_info',
'required' => true,
'widget' => array(
'type'=>'options_select',
)
);
field_create_instance($instance);
}
肯定会创建字段,但是在用户的个人资料中不可见?
我需要额外的东西吗?如果是这样,什么?
非常感谢。
已解决:这是由于捆绑(不完全确定捆绑是什么),我将捆绑更改为'用户'并且它出现了!
答案 0 :(得分:4)
bundle与内容类型几乎相同。但是因为在D7中用户也是实体,但他们不满足,使用术语“内容类型”没有意义。参考:Barry Jaspan的DrupalCon Paris 2009会议:模块开发人员的Field API简介。
答案 1 :(得分:0)
这是由于捆绑(不完全确定捆绑是什么),我将捆绑更改为'用户',它出现了!
答案 2 :(得分:0)
正如我在D7中所知,捆绑包类似于实体的模型,它可以包含字段。默认的drupal包是节点,用户和分类,但新的API也为开发人员提供了创建自定义包的功能。每个字段都需要属于一个包。
答案 3 :(得分:0)
Drupal中的bundle是实体的子集。在这种情况下,实体类型是User,并且只有一种类型的User,因此bundle是User。
在分类法中:分类法是实体,词汇是捆绑。
在节点中:节点是实体,内容类型是捆绑包。
没有字段可以附加到实体,属性附加到实体(已发布,粘性等)。字段附加到Bundles。
我没有足够的回复评论,所以这是我通过谷歌找到的答案。就像我一样。