O que você está vendo é como o Drupal representa os campos em um formulário. Ele se divide assim:
- Os filhos da matriz externa,
$form['field_back']['und']( 'und'for 'undefined'), são os diferentes idiomas para os quais o campo foi traduzido. Em Drupal, recomenda-se a utilização LANGUAGE_NONEde 'und'no código.
- Os filhos dentro de cada matriz de idiomas, por exemplo
$form['field_feedback']['und'][0], representam as diferentes entradas para o campo. Por exemplo, se um campo tem cardinalidade ilimitada, e há várias entradas para esse campo, eles vão mostrar como $form['field_feedback']['und'][0], $form['field_feedback']['und'][1], etc.
- Finalmente, você tem o (s) elemento (s) de entrada do formulário, para os próprios valores do campo, por exemplo
$form['field_feedback']['und'][0]['value']. Nesse caso, o nome da coluna é value, para um tipo de campo de referência de nó, seria nide assim por diante. Se um campo tiver várias colunas de dados associadas, você verá mais filhos também. Eles são representados por um campo de texto / caixa de seleção / widget especial e, finalmente, fornecerão o valor para o campo.
O fato de os títulos terem sido adicionados aos vários elementos em toda a hierarquia é incidental para ser honesto. A exibição ou não desses títulos no formulário depende das configurações específicas da matriz de renderização na qual cada um #titleestá contido.
Para alterar o título no widget de formulário real, você só precisa se preocupar com o elemento do formulário na parte inferior da matriz: ou seja, os elementos de entrada reais ( $form['field_feedback']['und'][0]['value'], etc.).
Provavelmente vale a pena notar que o elemento / widget usado para um campo específico pode ser bastante complexo. Se você ainda não o possui, instale o módulo Devel e use a dpm()função para inspecionar a $formmatriz; que mostrará exatamente onde estão os elementos que você está tentando segmentar na matriz.