Zend2:创建一个包含额外信息的单选按钮列表?

时间:2014-01-09 09:38:00

标签: zend-framework2

到目前为止,我有这个:

$radio = new Element\Radio('gender');
$radio->setLabel('What is your gender ?');
$radio->setValueOptions(array(
        array(
                '0' => 'Female',
                '1' => 'Male',
        )
));

问题是,我想要一个像这样的表输出:

Gender   | Description       | Button
-------------------------------
Male     | The workers       | [X]
Female   | The peacekeepers  | [ ] 

所以问题是我希望将更多信息与各个表单元素相关联,并改变打印到屏幕的标准方式。如果这样的事情可行,我会非常高兴:

$radio = new Element\Radio('gender');
$radio->setLabel('What is your gender ?');
$radio->setValueOptions(array(
        array(
                '0' => 'Female',
                '1' => 'Male',
        )
));
$radio->setExtraData(array(
        array(
                '0' => 'The workers',
                '1' => 'The peacekeepers',
        )
));

这显然不起作用。那么实现这一目标的正确“zend”方法是什么?

1 个答案:

答案 0 :(得分:1)

您可以在值选项中添加额外信息,而不是提供普通数组:

$radio->setValueOptions(array(
    array(
        'value' => '0',
        'label' => 'Female',
        'description' => 'The peacekeepers',
    ),
    array(
        'value' => '1',
        'label' => 'Male',
        'description' => 'The workers',
    )
));

以下步骤是创建用于呈现表的自定义View Helper,或循环选项并在视图本身中呈现表。