在Drupal 8

时间:2015-12-17 12:36:55

标签: drupal drupal-modules drupal-8 drupal-hooks drupal-entities

我是drupal的新手。我需要编写一个需要处理用户相关细节的模块。

我可以创建模块并在'users_field_data'表中添加necessery数据库更改。在hook_install()

中使用db_add_field
db_add_field('users_field_data', 'user_office', array(
            'type' => 'varchar',
            'length' => 255,
            'not null' => FALSE,
        ));

但是我从drupal安装其他模块时注意到的一件事是,当一个新字段添加到数据库时,它会将一些值保存到'config'表和'key_value'table。

在drupal 8中的现有表中创建新字段时,是否可以将值添加到'config'表和'key_value'表。

1 个答案:

答案 0 :(得分:0)

应使用字段和字段存储配置实体向现有实体添加字段。

采取以下步骤来实现目标:

  1. 转到目标实体的管理字段页面(对于用户,您可以在配置页面中找到该链接)
  2. 在GUI中添加必填字段。
  3. 转到配置同步页面并导出新字段的字段和字段存储配置。
  4. 新文件应保存在模块的config / install目录中。
  5. 安装模块
  6. 该字段应在安装时添加。