我想要以下HTML:
<form name="input" action="post" method="get">
<label>1</label><input type="radio" value="1" name="rating" />
<label>2</label><input type="radio" value="2" name="rating" />
<label>3</label><input type="radio" value="3" name="rating" />
<label>4</label><input type="radio" value="4" name="rating" />
<label>5</label><input type="radio" value="5" name="rating" />
<input type="submit" value="Submit" />
</form>
在我的zend框架项目中,如何使用Zend_Form执行此操作?我从某些博客尝试了一些代码示例,但它们不起作用..
由于
答案 0 :(得分:6)
您可以使用ViewScript装饰器创建所需的标记。在您的表单类中创建radio元素并使用setDecorators方法为此元素分配viewscript装饰器
$element = new Zend_Form_Element_Radio('rating');
$element->addMultiOptions(array(
'1' => '1',
'2' => '2',
'3' => '3',
'4' => '4',
'5' => '5'
))
->setDecorators(array(array('ViewScript', array('viewScript' => 'radio.phtml'))));
$this->addElement($element);
然后使用以下
在views / scripts目录中创建文件radio.phtml<?php foreach ($this->element->getMultiOptions() as $label => $value) : ?>
<label><?php echo $label; ?></label><input type="radio" value="<?php echo $value; ?>" name="<?php echo $this->element->getName(); ?>" />
<?php endforeach; ?>