Drupal Form-API: #field_prefix не работает с текстовым полем - PullRequest
0 голосов
/ 30 июля 2009

Я пытаюсь реализовать #field_prefix в текстовом поле, чтобы я мог добавить в форму дополнительный интерфейс.

У меня есть модуль, в котором я выполняю другие переопределения, подобные этой, с функцией, которая в основном выглядит следующим образом:

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
    }

Вот документы, кажущиеся довольно простыми: http://api.drupal.org/api/file/developer/topics/forms_api_reference.html/6#field_prefix

Я переименовал свою тему, чтобы эффективно отключить ее - должен доказать, что у меня нет никаких других переопределений, которые могут конфликтовать.

Чего мне не хватает?

Обновление: Закончено переопределение theme_form_element для вставки моего префикса вручную, когда #field_name встречает правильное условие. Кажется хакерским, но text_textfield просто не поддерживает # field_prefix.

1 Ответ

1 голос
/ 30 июля 2009

Я предполагаю, что в качестве поля CCK field_contenttype_fieldname на самом деле не текстовое поле, а настраиваемое поле FormAPI CCK предоставляет подобно текстовое поле, и поэтому оно не потребляет field_prefix атрибут.

Попробуйте print_r() извлечь это поле из $form и посмотрите, каково его #type.

...