Aquí hay un ejemplo que acabo de encontrar. Estoy tratando de poner algo de HTML en la etiqueta de mi campo.
$form['field_feedback']['und']['#title'] <- has the title
$form['field_feedback']['und'][0]['#title'] <- has the title
$form['field_feedback']['und'][0]['value']['#title'] <- has the title. (Works)
¿Por qué hay tres atributos #title poblados con solo uno en uso?

Respuestas:
Lo que está viendo es cómo Drupal representa los campos en un formulario. Se descompone así:
$form['field_back']['und']('und'for'undefined') son los diferentes idiomas a los que se ha traducido el campo. En Drupal, se recomienda el usoLANGUAGE_NONEde'und'un código.$form['field_feedback']['und'][0], representan las diferentes entradas para el campo. Por ejemplo, si un campo tiene cardinalidad ilimitado, y hay varias entradas para ese campo, que se mostrarán como$form['field_feedback']['und'][0],$form['field_feedback']['und'][1], etc.$form['field_feedback']['und'][0]['value']. En este caso, el nombre de la columna esvalue, para un campo de referencia de nodo, seríanid, y así sucesivamente. Si un campo tiene varias columnas de datos asociadas, también verá más elementos secundarios. Estos están representados por un campo de texto / cuadro de selección / widget especial, y finalmente proporcionarán el valor para el campo.El hecho de que se hayan agregado títulos a los diversos elementos en toda la jerarquía es incidental para ser sincero. El hecho de que esos títulos se muestren o no en el formulario depende de la configuración particular de la matriz de representación en la que
#titleestá contenido cada uno .Para cambiar el título en el widget de formulario real, solo debe preocuparse por el elemento de formulario en la parte inferior de la matriz: es decir, los elementos de entrada reales (
$form['field_feedback']['und'][0]['value'], etc.).Probablemente valga la pena señalar que el elemento / widget utilizado para un campo en particular puede ser bastante complejo. Si aún no lo tiene, debe instalar el módulo Devel y usar la
dpm()función para inspeccionar la$formmatriz; eso le mostrará exactamente en qué parte de la matriz se encuentran los elementos a los que intenta apuntar.fuente