Machine Name Widget
Widget for a Machine Name form element.
Machine Name Widget provides a field for the machine_name render element. This module does not provide a UI for configuring the widget, but rather is intended to be used by other modules (i.e. content entities).
New Projects: read me first!
You should probably be using the core patch, located here: #2685749: Add a 'machine_name' widget for string field types with a UniqueField constraint. When this lands, this module will be obsolete. You can get ahead of the migration issues by just using the patch now.
Setup
The widget accepts the same configuration as machine_name. Simply use the type machine_name and pass the same config into settings.
Example
Here's an example from Colossal Menu:
$fields['machine_name'] = BaseFieldDefinition::create('string')
->setLabel(t('Machine name'))
->setDescription(t('Machine name of the menu link'))
->setRequired(TRUE)
->setSetting('max_length', 255)
->addConstraint('UniqueField', [])
->setDisplayOptions('form', [
'type' => 'machine_name',
'weight' => -4,
'settings' => [
'source' => [
'title',
'widget',
0,
'value',
],
'exists' => '\Drupal\colossal_menu\Entity\Link::loadByMachineName',
],
]);
Depends on
Dependencies of the latest stable release
No dependencies recorded for this project.
Required by
Tracked projects that depend on this one
No tracked projects depend on this one yet.
Activity
Release Timeline
Releases
| Version | Type | Core | Release date | |
|---|---|---|---|---|
| 3.1.1 | Stable | Jul 18, 2024 | ||
| 3.1.0 | Stable | Jul 18, 2024 | ||
| 3.0.1 | Stable | Nov 28, 2023 | ||
| 8.x-2.0-alpha5 | Pre-release | Nov 28, 2023 | ||
| 8.x-2.0-alpha4 | Pre-release | Nov 28, 2023 | ||
| 8.x-2.0-alpha3 | Pre-release | Sep 18, 2023 | ||
| 3.0.x-dev | Dev | Sep 18, 2023 |