2010-10-15 4 views
0

J'ai créé un nouvel élément avec hook_elements.But comment ajouter un élément input comme textfield?
J'ai écrit le code suivant, la zone de texte est affichée sur le formulaire, mais lorsque j'imprime les valeurs form_state dans la fonction de soumission du formulaire, il n'y a aucune valeur pour cela.La fonction de traitement est-elle le bon endroit pour ajouter le champ de saisie?Comment ajouter un champ de saisie à un élément dans Drupal hook_elements


function test_elements() { 
    return array(
    'test_field' => array(
     '#input' => TRUE, 
     '#process' => array('test_field_process'), 
    ) 
); 
} 

function theme_test_field($element) { 
    $output = $element['#title']; 
    $output .= drupal_render($element['#txtbox']); 
    return $output; 
} 

function test_field_process($element, $edit, &$form_state, $complete_form) { 
    $element['#txtbox'] = array(
     '#type' => 'textfield', 
     '#title' => 'Enter value' 
); 
    return $element; 
} 

Répondre

1

Implémentez-vous hook_theme pour décrire test_field?

comme

function test_theme() { 
     return array(
     'test_field' => array(
      'arguments' => array('element' => NULL), 
     ), 
    ); 
} 
Questions connexes