Drupal Form-API: # field_prefix textfield üzerinde çalışmıyor

1 Cevap php

Ben bu yüzden benim forma için bazı ekstra UI ekleyebilirsiniz bir metin alanında # field_prefix uygulamak çalışıyorum.

Ben temelde bu gibi görünen bir fonksiyonu ile, bu gibi diğer geçersiz kılmaları yapıyorum bir modülü var:

function modulename_form_alter(&$form, $form_state, $form_id){
    if ($form_id == "contenttype_node_form"){
        $form['field_contenttype_fieldname'][0]['#prefix'] = 'prefix';  //this line works           
        $form['field_contenttype_fieldname'][0]['#field_prefix'] = 'field_prefix';  //this line doesn't work
    }

Here's the docs, seems pretty straight forward: http://api.drupal.org/api/file/developer/topics/forms_api_reference.html/6#field_prefix

Ben etkili bir şekilde devre dışı bırakmak için benim tema adını verdim - etrafında asılı başka overrides çatışacak yok ispatlamak zorundadır.

Ne eksik?

Update: Ended up overriding theme_form_element to insert my prefix manually when the #field_name meets the right condition. Feels hacky, but text_textfield simply doesn't support #field_prefix.

1 Cevap

Benim tahminim bir CCK alan olarak field_contenttype_fieldname aslında bir TextField olmadığıdır, ancak özel bir FormAPI alan CCK ki like, bir TextField, ve bu şekilde {tüketmez bulunuyor sağlar [(2)]} özellik.

print_r() $form üzerinden bu alanı ing ve onun #type ne olduğunu görmek deneyin.