function taxonomy_machine_name_form_taxonomy_term_form_alter in Taxonomy Machine Name 8
Implements hook_form_FORM_ID_alter().
File
- ./
taxonomy_machine_name.module, line 77 - This is the Taxonomy Machine Name module.
Code
function taxonomy_machine_name_form_taxonomy_term_form_alter(&$form, FormStateInterface $form_state, $form_id) {
// Only if 'name' field is enable in the current 'form display'.
if (isset($form['name'])) {
$default_value = '';
/** @var \Drupal\taxonomy\Entity\Term $term */
$term = $form_state
->getFormObject()
->getEntity();
if ($term
->hasField('machine_name')) {
if (!empty($term_machine_name = $term
->get('machine_name')
->first())) {
$default_value = $term_machine_name
->getValue()['value'];
}
elseif (!empty($term_machine_name_value = $term
->get('name')
->first()
->getValue())) {
$name = $term_machine_name_value['value'];
$default_value = taxonomy_machine_name_clean_name($name);
}
}
$form['machine_name'] = [
'#type' => 'machine_name',
'#default_value' => $default_value,
'#maxlength' => 255,
'#machine_name' => [
'exists' => 'taxonomy_term_machine_name_load',
'source' => [
'name',
'widget',
0,
'value',
],
],
'#weight' => $form['name']['#weight'] + 0.01,
];
$form['#validate'][] = 'taxonomy_machine_name_form_validate';
}
}