1

我想要以下 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 做到这一点?我已经尝试了某些博客中的一些示例代码,但它们不起作用..

谢谢

4

1 回答 1

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);

然后使用以下内容在您的视图/脚本目录中创建文件 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; ?>
于 2012-05-03T14:56:46.990 回答