You are here

function taxonomy_machine_name_form_taxonomy_overview_terms_alter in Taxonomy Machine Name 8

Implements hook_form_FORM_ID_alter().

File

./taxonomy_machine_name.module, line 38
This is the Taxonomy Machine Name module.

Code

function taxonomy_machine_name_form_taxonomy_overview_terms_alter(&$form, FormStateInterface $form_state, $form_id) {
  if (isset($form['terms']['#header'])) {
    array_splice($form['terms']['#header'], 1, 0, [
      t('Machine name'),
    ]);
  }
  $position = FALSE;
  foreach (Element::children($form['terms']) as $key) {

    /** @var \Drupal\taxonomy\Entity\Term $term */
    $term = $form['terms'][$key]['#term'];
    if (!empty($term_machine_name = $term
      ->get('machine_name')
      ->first())) {
      $machine_name = $term_machine_name
        ->getValue()['value'];
    }
    else {
      $machine_name = '';
    }

    // Look for term position to place machine name just after.
    if ($position === FALSE) {
      $position = array_search('term', array_keys($form['terms'][$key]));
      if ($position === FALSE) {
        $position = 0;
      }
    }
    $column = [
      '#type' => 'link',
      '#title' => $machine_name,
      '#url' => $form['terms'][$key]['term']['#url'],
    ];
    array_splice($form['terms'][$key], $position + 1, 0, [
      'machine_name' => $column,
    ]);
  }
}