gpt4 book ai didi

php - 如何在 ZF2 表单中制作自定义单选按钮标签?

转载 作者:可可西里 更新时间:2023-10-31 23:46:29 25 4
gpt4 key购买 nike

我有一个带有单选按钮的表单:

$this->add([
'name' => 'time',
'options' => [
'value_options' => [
'0' => '9:00 - 12:00',
'1' => '12:00 - 16:00',
'2' => '16:00 - 19:00',
],
'label_attributes' => [
'class' => 'WW_OBJ_fm-label',
]
],
'type' => 'Radio'
]);

在 View 中我的输出是这样的:

<div> 
<?php echo $this->formElement($form->get('time')); ?>
</div>

并获取输出(为了便于阅读而格式化):

<div>
<label class="WW_OBJ_fm-label">
<input type="radio" name="time" value="0"/>
9:00 - 12:00
</label>
<label class="WW_OBJ_fm-label">
<input type="radio" name="time" value="1"/>
12:00 - 16:00
</label>
<label class="WW_OBJ_fm-label">
<input type="radio" name="time" value="2"/>
16:00 - 19:00
</label>
</div>

但我需要,标签文本由 <span> 包裹:

<div>
<label class="WW_OBJ_fm-label">
<input type="radio" name="time" value="0"/>
<span class="WW_label-text">9:00 - 12:00</span>
</label>
<label class="WW_OBJ_fm-label">
<input type="radio" name="time" value="1"/>
<span class="WW_label-text">12:00 - 16:00</span>
</label>
<label class="WW_OBJ_fm-label">
<input type="radio" name="time" value="2"/>
<span class="WW_label-text">16:00 - 19:00</span>
</label>
</div>

实现它的最佳方法是什么?

最佳答案

针对您的问题,我看到了三种可能的解决方案。

1) 扩展 Zend\Form\View\Helper\FormRadio 类,覆盖 renderOptions 方法,几乎​​完全复制您可以在 中找到的方法Zend\Form\View\Helper\FormMultiCheckbox 但可能会添加一个选项以将可选属性传递给 span 元素

2) 非常微妙,但可以节省您编写一些代码:使用翻译器。由于单选值选项已翻译,您可以保留在配置中定义的值,但在转换中添加 span 元素

3)不要用$this->formElement来显示元素,而是实际写所有的html

关于php - 如何在 ZF2 表单中制作自定义单选按钮标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34336816/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com