我有一個難以置信的困難時間來裝飾我需要的Zend窗體。這是我需要的HTML結構:Zend表格,表格裝飾器
<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>
正文中的行數由我的表單類中的循環結構決定。當然所有的ID都是唯一的。表單中的所有單選按鈕都屬於一個組。我的問題實際上是我不確定如何創建表格並在表格中設置對象樣式Zend_Form_Element_MultiCheckbox和Zend_Form_Element_Radio。我在哪裏/如何將適當的修飾器應用於複選框和單選按鈕,以獲得如上所述的表單結構?
我的Form類到目前爲止:
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'
));
}
}
我曾嘗試decoraters對於TD和TR,但沒有成功至今的幾個組合。
謝謝你的幫助,非常感謝。 JP Levac
斷開的鏈接已損壞。 :( – 2011-11-14 07:46:39
@KevinPeno它看起來像Zend有一個新的網站。格式化被打破,但看看[這個更新的頁面](http://devzone.zend.com/1240/decorators-with-zend_form/)。已更新原始帖子。 – 2011-11-14 09:58:56
感謝@DavidCaunt – 2011-11-14 11:06:11