Mam niesamowicie trudny czas, aby udekorować formularz Zend tak, jak powinienem. Jest to struktura HTML Jestem w potrzebie:Formularz Zend, dekoratory stołów
<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>
Liczba wierszy w organizmie jest określana przez mojego struktury zapętlenie w moim klasy formularza. Wszystkie identyfikatory będą oczywiście unikalne. Wszystkie przyciski opcji w formularzu należą do jednej grupy. Mój problem polega na tym, że nie jestem pewien, jak utworzyć i następnie zedytować obiekt Zend_Form_Element_MultiCheckbox i Zend_Form_Element_Radio w mojej tabeli. Gdzie/w jaki sposób zastosować odpowiednie decoraters do pól wyboru i przycisków opcji, aby mieć strukturę formularza jak powyżej?
Moja klasa Formularz do tej pory:
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'
));
}
}
Próbowałem kilka kombinacji decoraters dla td i tr, ale bez powodzenia do tej pory.
Dziękuję za pomoc, bardzo doceniona. JP Levac
Złamany link jest uszkodzony. :( –
@KevinPeno Wygląda na to, że Zend ma nową stronę internetową. Formatowanie jest zepsute, ale spójrz na [tę zaktualizowaną stronę] (http://devzone.zend.com/1240/decorators-with-zend_form/). "zaktualizowałem oryginalny wpis. –
Dzięki @DavidCaunt –