J'ai une forme zend. Il est mon code:Forme de Zend. Ajouter un href et placer quelques éléments dans div
private function _createForm($action) {
$form = new Zend_Form();
$form->setName($action . '_form');
$form->setMethod('post');
// Main tab
$title = $form->createElement('text', 'title');
$title->setLabel('Title')
->setAttrib('maxlength',50)->setAttrib('id', 'title')->setAttrib('class', $action . '_title')
->setAttrib('style','height: 15px; width: 200px;')
->setRequired(true)
->setDecorators(array(
'ViewHelper',
array(array('data' => 'HtmlTag'), array('tag' => 'td', 'class' => 'element')),
array('Label', array('tag' => 'td')),
array(array('row' => 'HtmlTag'), array('tag' => 'tr')),
));
$description = $form->createElement('textarea', 'description');
$description->setLabel('Description')
->setAttrib('style','height: 50px; width: 200px;')->setAttrib('id', 'description')->setAttrib('class', $action . '_description')
->setDecorators(array(
'ViewHelper',
array(array('data' => 'HtmlTag'), array('tag' => 'td', 'class' => 'element')),
array('Label', array('tag' => 'td')),
array(array('row' => 'HtmlTag'), array('tag' => 'tr')),
));
// Advanced tab
$qualif_time = $form->createElement('text', 'qualif_time');
$qualif_time->setLabel('Qualification Time')
->setAttrib('maxlength',11)->setAttrib('id', 'qualif_time')->setAttrib('class', $action . '_qualif_time')->setAttrib('style','height: 15px; width: 200px;')
->setDecorators(array(
'ViewHelper',
array(array('data' => 'HtmlTag'), array('tag' => 'td', 'class' => 'element')),
array('Label', array('tag' => 'td')),
array(array('row' => 'HtmlTag'), array('tag' => 'tr')),
));
$total_assoc_down = $form->createElement('text', 'total_assoc_down');
$total_assoc_down->setLabel('Total Associates Downline')
->setAttrib('maxlength',11)->setAttrib('id', 'total_assoc_down')->setAttrib('class', $action . '_total_assoc_down')->setAttrib('style','height: 15px; width: 200px;')
->setDecorators(array(
'ViewHelper',
array(array('data' => 'HtmlTag'), array('tag' => 'td', 'class' => 'element')),
array('Label', array('tag' => 'td')),
array(array('row' => 'HtmlTag'), array('tag' => 'tr')),
));
$submit = $form->createElement('submit', $action);
$submit->setAttrib('id', 'submit')->setAttrib('value', $action)
->setDecorators(array(
'ViewHelper',
array(array('data' => 'HtmlTag'), array('tag' => 'td', 'class' => 'element')),
array(array('row' => 'HtmlTag'), array('tag' => 'tr')),
));
$form->addElements(array(
$title, $description, $qualif_time, $total_assoc_down
));
$form->addDisplayGroup(array('qualif_time', 'total_assoc_down'), 'advanced_tab');
$advanced_tab = $form->getDisplayGroup('advanced_tab');
$form->addElements(array($advanced_tab, $submit));
$form->setDecorators(array(
'FormElements',
array('HtmlTag', array('tag' => 'table')),
'Form',
));
return $form;
}
Ma tâche consiste à placer le titre de $ et une description dans un div, et en plaçant total_assoc de $ et de qualif_time $ dans d'autres div. Et je devrais insérer href (lien) avant ce divs. J'ai essayé de le faire avec addDisplayGroup(), mais cela crée un fieldset. J'ai besoin de div.
Thx.
J'ai créé mon propre 'Zend_Form_Element' pour corriger ce genre de problème. Je l'ai appelé "Contenu" et cela me permet d'ajouter du HTML là où j'ai besoin dans le formulaire. Ceci est également utile pour créer des labels avec du HTML, car le décorateur Zend Label par défaut échappe les caractères Html. –
Oui. J'ai essayé ça. Merci. C'est du travail. – pltvs