Создание полей базы данных в существующей таблице при установке модуля в Drupal 8
Я новичок в Drupal и мне нужна помощь.
Я создал новый модуль с именем user_extra
, Которые создают необходимые таблицы при установке модуля.
Но мне также нужно вставить поле базы данных в 'users_field_data'
Таблица ('user_extra_id'
а также 'user_office'
)
В baseFieldDefinitions
Я написал все необходимые поля таблицы базы данных для user_extra
Таблица.
public static function baseFieldDefinitions(EntityTypeInterface $entity_type) {
// Standard field, used as a unique if primary index.
$fields['id'] = BaseFieldDefinition::create('integer')
->setLabel(t('Unit ID'))
->setDescription(t('The unit ID.'))
->setReadOnly(TRUE)
->setSetting('unsigned', TRUE);
$fields['uuid'] = BaseFieldDefinition::create('uuid')
->setLabel(t('UUID'))
->setDescription(t('The unit UUID.'))
->setReadOnly(TRUE);
.
.
.
$fields['user_info'] = BaseFieldDefinition::create('string')
->setLabel(t('User Info'))
->setDescription(t("The User Info"))
->setSetting('max_length', 255)
->setDisplayOptions('form', array(
'type' => 'string_textfield',
'weight' => 10,
))
->setDisplayConfigurable('form', TRUE);
return $fields;
}
Когда я устанавливаю модуль, он вставляет все значения, которые я определил в baseFieldDefinitions
,
Но мне тоже нужно создать 'user_extra_id'
а также 'user_office'
в 'users_field_data'
стол с setDisplayOptions
а также setDisplayConfigurable
опции.
Это комментарий, который я сделал в файле сущности
/**
* @ContentEntityType(
* id = "user_extra",
* label = @Translation("user extra"),
* handlers = {
* "storage" = "Drupal\user_extra\UserextraStorage",
* "storage_schema" = "Drupal\user_extra\UserextraStorageSchema",
* "access" = "Drupal\user_extra\UserextraAccessControlHandler",
* "list_builder" = "Drupal\user_extra\UserextraListBuilder",
* "view_builder" = "Drupal\user_extra\UserextraViewBuilder",
* "views_data" = "Drupal\user_extra\UserextraViewsData",
* "form" = {
* "default" = "Drupal\user_extra\Form\UserextraForm",
* "add" = "Drupal\user_extra\Form\UserextraAddForm",
* "edit" = "Drupal\user_extra\Form\UserextraEditForm",
* "delete" = "Drupal\user_extra\Form\UserextraDeleteForm",
* }
* },
* admin_permission = "administer user_extra",
* base_table = "user_extra",
* entity_keys = {
* "id" = "id",
* "label" = "name",
* "uuid" = "uuid",
* },
* links = {
* "canonical" = "/admin/user_extra/{user_extra}",
* "add-form" = "/admin/user_extra/add",
* "delete-form" = "/admin/user_extra/{user_extra}/delete",
* "overview-form" = "/admin/user_extra/${user_extra}/overview",
* "edit-form" = "/admin/user_extra/{user_extra}",
* "collection" = "/admin/user_extra",
* "children" = "/admin/user_extra/{user_extra}/children",
* },
* )
*/