Pergunta

Eu estou tentando implementar #field_prefix em um campo de texto para que eu possa adicionar algum UI extra para a minha forma.

Eu tenho um módulo onde eu estou fazendo outras substituições como este, com uma função que basicamente se parece com isso:

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
    }

Eis os docs, parece bastante simples: http://api.drupal.org/api/ arquivo / desenvolvedor / temas / forms_api_reference.html / 6 # field_prefix

Eu renomeado meu tema para efetivamente desativá-lo - devem provar que eu não tenho quaisquer outras substituições pendurados em torno de que entraria em conflito

.

O que eu estou ausente?

Update: Acabou substituindo theme_form_element para inserir o meu prefixo manualmente quando o #field_name satisfaz a condição direita. Sente hacky, mas text_textfield simplesmente não suporta #field_prefix.

Foi útil?

Solução

Meu palpite é que, como field_contenttype_fieldname campo CCK não é realmente um campo de texto, mas uma CCK costume campo FormAPI fornece Isso é como um campo de texto, e, como tal, não consome o atributo field_prefix.

Tente print_r()ing que o campo fora do $form e ver o que a sua #type é.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top