Drupal → Добавить сторонней контент сущности своё базовое поле (base field)
Пример добавления терминам базового поля depth_level
:
// MODULENAME.module /** * Implements hook_entity_base_field_info(). */ function MODULENAME_entity_base_field_info(EntityTypeInterface $entity_type) { if ($entity_type->id() == 'taxonomy_term') { $fields = []; $fields['depth_level'] = BaseFieldDefinition::create('integer') ->setLabel(t('Depth')) ->setSetting('unsigned', TRUE) ->setDefaultValue(0); return $fields; } }
// MODULENAME.install /** * Add term depth base field. */ function MODULENAME_update_8001() { $depth_field = BaseFieldDefinition::create('integer') ->setLabel(t('Depth')) ->setSetting('unsigned', TRUE) ->setDefaultValue(0); \Drupal::entityDefinitionUpdateManager()->installFieldStorageDefinition('depth_level', 'taxonomy_term', 'MODULENAME', $depth_field); }
После написания кода нужно будет запустить update.php.
Оставить комментарий