Elemente eines Formulars an Template übergeben und komplettes Formular rendern
am 19.02.2010 - 01:06 Uhr in
Hi,
ich möchte in einem Template die Platzhalter mit den einzelnen Formularfeldern ersetzen. so wie in der preprocess-funktion zu sehen.
Was jedoch nicht klappt, ist das gesamte formular zu rendern, d.h. die form-tags und hidden-fields erscheinen nicht.
Es passiert auch nix wenn ich ins template echo drupal_render($form) schreibe.
<?php
/**
* Implementation of hook_block()
*/
function konfigurator_block($op='list', $delta=0, $edit=array()) {
switch ($op) {
case 'list':
$blocks['0']['info'] = t('Konfigurator');
return $blocks;
case 'view':
$blocks['subject'] = t('Überschrift');
$blocks['content'] = theme('konfigurator_display_form',konfigurator_form());
return $blocks;
case 'configure':
case 'save':
}
}
/**
* Formular
*/
function konfigurator_form(){
$form['firstname'] = array(
'#type' => 'textfield',
'#title' => 'Vorname',
'#size' => 30
);
return $form;
}
/**
* Implementation of hook_theme()
*/
function konfigurator_theme(){
return array(
'konfigurator_display_form' => array(
'arguments' => array('form' => NULL),
'template' => 'konfigurator-form',
)
);
}
function template_preprocess_konfigurator_display_form(&$vars){
//drupal_set_message('<pre>'. print_r($vars['form'], 1) .'</pre>'); // Die Struktur des Formulars ansehen.
$vars['firstname'] = drupal_render($vars['form']['firstname']);
}
?>- Anmelden oder Registrieren um Kommentare zu schreiben

Neue Kommentare
vor 1 Woche 2 Tagen
vor 1 Woche 3 Tagen
vor 1 Woche 4 Tagen
vor 2 Wochen 1 Tag
vor 2 Wochen 2 Tagen
vor 2 Wochen 6 Tagen
vor 2 Wochen 6 Tagen
vor 2 Wochen 6 Tagen
vor 5 Wochen 2 Tagen
vor 5 Wochen 3 Tagen