Ich habe eine unglaublich schwierige Zeit, um eine Zend Form so zu gestalten, wie ich es brauche. Dies ist die HTML-Struktur ich in Not bin:Zend Form, Tischdekoration
<table>
<thead><tr><th>one</th><th>two</th><th>three</th><th>four</th></thead>
<tbody>
<tr>
<td><input type='checkbox' id='something'/></td>
<td><img src='src'/></td>
<td><input type='text' id='something'/></td>
<td><input type='radio' group='justonegroup'/></td>
</tr>
<tr>
<td><input type='checkbox' id='something'/></td>
<td><img src='src'/></td>
<td><input type='text' id='something'/></td>
<td><input type='radio' group='justonegroup'/></td>
</tr>
</tbody>
</table>
Die Anzahl der Zeilen im Körper durch meine Looping Struktur in meiner Formularklasse bestimmt wird. Alle IDs werden natürlich eindeutig sein. Alle Optionsfelder im Formular gehören zu einer Gruppe. Mein Problem ist wirklich, dass ich unsicher bin, wie ich das Objekt Zend_Form_Element_MultiCheckbox und Zend_Form_Element_Radio in meiner Tabelle erstellen und dann stylen kann. Wo/wie würde ich die entsprechenden Verzierungen auf die Kontrollkästchen und Optionsfelder anwenden, um eine Formularstruktur wie oben zu haben?
Meine Form-Klasse bisher:
class Form_ManageAlbums extends Zend_Form
{
public function __construct($album_id)
{
$photos = Model_DbTable_Photos::getAlbumPhotos($album_id);
$selector = new Zend_Form_Element_MultiCheckbox('selector');
$radio = new Zend_Form_Element_Radio('group');
$options = array();
while($photo = $photos->fetchObject())
{
$options[$photo->id] = '';
$image = new Zend_Form_Element_Image('image'.$photo->id);
$image->setImageValue('/dog/upload/'.$photo->uid.'/photo/'.$photo->src);
$caption = new Zend_Form_Element_Text('caption'.$photo->id);
$caption->setValue($photo->caption);
$this->addElements(array($image, $caption));
}
$selector->addMultiOptions($options);
$radio->addMultiOptions($options);
$this->addElement($selector);
$this->setDecorators(array(
'FormElements',
array('HtmlTag', array('tag' => 'table')),
'Form'
));
}
}
ich einige Kombination von decoraters für die td und tr versucht, aber ohne Erfolg bisher.
Vielen Dank für jede Hilfe, sehr geschätzt. JP Levac
Defekte Verbindung ist unterbrochen. :( –
@KevinPeno es sieht aus wie Zend haben eine neue Website. Die Formatierung ist kaputt, aber werfen Sie einen Blick auf [diese aktualisierte Seite] (http://devzone.zend.com/1240/decorators-with-zend_form/) habe den ursprünglichen Beitrag aktualisiert. –
Dank @DavidCaunt –