Пример добавления терминам базового поля 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.
Написанное актуально для
Drupal 8
Добавить комментарий