Taxonomy Enum
This module synchronizes Drupal taxonomy vocabularies with PHP enums, automatically creating and managing taxonomy terms based on enum cases. It allows developers to reference taxonomy terms in code using enums instead of hardcoded IDs, making code more portable and maintainable. The module also offers configuration options to control manual term creation and deletion, and provides tools for migrating existing fields.
This module allows you to synchronise taxonomy vocabularies with PHP enums. This is especially useful if you have a taxonomy vocabulary with a fixed set of terms and custom code that needs to behave differently based on which term is referenced. It basically allows you to reference a taxonomy term in code without having to hardcode ID's, which makes your code more portable between environments.
Features
- Automatically creates terms based on the enum cases
- Automatically deletes respective terms once enum cases have been removed (configurable)
- Disables the possibility to manually create/delete terms (configurable)
- Stores default field values in config as machine names instead of entity UUID's
- Allows you to get enum instances in custom code:
$entity->get('some_taxonomy_enum_field')->enum - Contains code to easily migrate existing entity reference fields:
\Drupal::service('taxonomy_enum.migration')->migrateField('field_tags', 'node');
Depends on
Dependencies of the latest stable release
- Taxonomy Machine Name
- taxonomy Drupal core
Required by
Tracked projects that depend on this one
No tracked projects depend on this one yet.
Activity
Release Timeline
Releases
| Version | Type | Core | Notes | Release date | |
|---|---|---|---|---|---|
| 1.3.1 | Stable | 9–11 | Fix Taxonomy Enum settings being shown on vocabulary overview form | Jan 20, 2026 | |
| 1.3.0 | Stable | 9–11 | Add support for vocabulary:create and field:create Drush commands | Nov 27, 2025 | |
| 1.2.0 | Stable | 9–11 | Add helper method to get enum instances of a multiple field | Nov 26, 2025 | |
| 1.1.2 | Stable | 9–11 | Add Drupal 11 compatibility & fix some bugs related to the views filter. | Nov 29, 2024 |