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');
Ask your assistant about Taxonomy Enum
Check compatibility with your Drupal and PHP version, maintenance and security coverage, from current release data. How it works
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 | PHP | Release date | |
|---|---|---|---|---|---|
| 1.3.1 | Stable | 9–11 | Jan 20, 2026 | ||
| 1.3.0 | Stable | 9–11 | Nov 27, 2025 | ||
| 1.2.0 | Stable | 9–11 | Nov 26, 2025 | ||
| 1.1.2 | Stable | 9–11 | Nov 29, 2024 | ||
| 1.1.1 | Stable | 9–10 | PHP 8.1 | Jun 15, 2024 | |
| 1.1.0 | Stable | 9–10 | PHP 8.1 | May 8, 2024 | |
| 1.0.0 | Stable | 9–10 | PHP 8.1 | Mar 2, 2023 | |
| 1.x-dev | Dev | 9–11 | PHP 8.1 | Feb 16, 2023 |