Gördüğünüz şey, Drupal'ın formları bir tarlada nasıl temsil ettiği. Bu şekilde parçalanır:
- Dış dizinin çocukları,
$form['field_back']['und']
( 'und'
için 'undefined'
), alanın çevrildiği farklı dillerdir. Drupal olarak, kullanım için tavsiye edilir LANGUAGE_NONE
için 'und'
kod.
- Her dil dizisinin içindeki çocuklar, örneğin
$form['field_feedback']['und'][0]
alan için farklı girişleri temsil eder. Bir alan sınırsız önem düzeyi vardır ve bu alan için birkaç girişler varsa Örneğin, onlar gösterecektir olarak $form['field_feedback']['und'][0]
, $form['field_feedback']['und'][1]
vb
- Sonunda, alan değerleri için örn
$form['field_feedback']['und'][0]['value']
. Bu durumda, sütun adı, value
bir düğüm referans alanı türü için nid
, vb. Olur. Bir alanla ilişkili birden fazla veri sütunu varsa, daha fazla sayıda çocuk göreceksiniz. Bunlar bir metin alanı / seçim kutusu / özel widget ile temsil edilir ve sonuç olarak alan için bir değer sağlar.
Hiyerarşi boyunca çeşitli öğelere başlıkların eklenmiş olması gerçeği açıktır. Bu başlıkların formda gösterilip gösterilmeyeceği, her birinin içinde bulunduğu render dizisinin belirli ayarlarına bağlıdır #title
.
Gerçek form widget'ındaki başlığı değiştirmek için yalnızca dizinin en altındaki form öğesi için endişelenmeniz gerekir: örn. Gerçek giriş öğeleri ( $form['field_feedback']['und'][0]['value']
, vb.).
Belirli bir alan için kullanılan öğenin / gerecin oldukça karmaşık olabileceğine dikkat etmeniz büyük olasılıkla. Zaten sahip değilseniz, Devel modülünü kurmanız dpm()
ve $form
diziyi incelemek için işlevi kullanmanız gerekir ; Bu, tam olarak dizide hedeflediğiniz elemanların nerede olduğunu gösterir.