Що ви бачите, це те, як Drupal представляє поля у формі. Він руйнується так:
- Діти зовнішнього масиву
$form['field_back']['und']
( 'und'
для 'undefined'
) - це різні мови, на які було переведено поле. В Drupal, рекомендується для використання LANGUAGE_NONE
в 'und'
в коді.
- Діти всередині кожного мовного масиву, наприклад
$form['field_feedback']['und'][0]
, представляють різні записи для поля. Наприклад, якщо поле має необмежену кількість елементів, і є кілька записів для цієї області, вони покажуть , як $form['field_feedback']['und'][0]
, $form['field_feedback']['und'][1]
і т.д.
- Нарешті, у вас є елементи введення форми для самих значень поля, наприклад
$form['field_feedback']['und'][0]['value']
. У цьому випадку ім'я стовпця - value
це тип типу посилального вузла nid
, і так далі. Якщо з полем пов'язано кілька стовпців даних, ви також побачите більше дітей. Вони представлені текстовим полем / полем вибору / спеціальним віджетом і в кінцевому підсумку забезпечать значення для поля.
Справедливим є той факт, що назви були додані до різних елементів у всій ієрархії. Незалежно від того, чи відображаються ці заголовки у формі, залежить від конкретних параметрів масиву візуалізації, в якому #title
міститься кожен .
Щоб змінити заголовок на фактичному віджеті форми, потрібно потурбуватися лише про елемент форми в самому дні масиву: тобто про фактичні вхідні елементи ( $form['field_feedback']['und'][0]['value']
тощо).
Напевно, варто зазначити, що елемент / віджет, який використовується для певного поля, може бути досить складним. Якщо у вас його ще немає, слід встановити модуль Devel і використовувати dpm()
функцію для перевірки $form
масиву; це точно покаже вам, де в масиві знаходяться елементи, на які ви намагаєтеся націлити.