如何正确自定义CakePHP3 FormHelpers单选按钮

时间:2016-10-03 16:08:34

标签: cakephp radio-button cakephp-3.0 form-helpers

我正在尝试使用FormHelpers::radio in CakePHP3,我想知道如何在阵列的每个输入处设置一些HTML。

如果我查看上面的文档,我们可以看到Helper要求提供这些参数。

  

Cake \ View \ Helper \ FormHelper :: radio(string $ fieldName,array $ options,   array $ attributes)

所以,在我的HTML中,我找到了类似于两个第一的东西。但是当谈到$ attributes数组时,没有关于我能够做什么的信息。

我的代码

<?php 
echo $this->Form->radio(
    'member',
    [
        ['value' => '1', 'text' => __("Free")],
        ['value' => '2', 'text' => __("Monthly")],
        ['value' => '3', 'text' => __("Yearly")],
    ],
    [
        'label' => [
            'class' => 'control-label'
        ],
        'before' => '<div>',
        'after' => '</div>'
    ] 
);
?>

输出

<div role="temp_div_for_demo">
   <input type="hidden" name="member" value="">

   <label class="control-label" for="member-1"><input type="radio" name="member" value="1" id="member-1">Free</label>
   <label class="control-label" for="member-2"><input type="radio" name="member" value="2" id="member-2">Monthly</label>
   <label class="control-label" for="member-3"><input type="radio" name="member" value="3" id="member-3">Yearly</label>                        
</div>

你可以看到标签变得“好”&#34;但是<div>之前和之后我都没有渲染。

我的目标是将每个输入/标签包装在div中(像这样)。

<div role="temp_div_for_demo">
   <input type="hidden" name="member" value="">

   <div class="radio"><label class="control-label" for="member-1"><input type="radio" name="member" value="1" id="member-1">Free</label></div>
   <div class="radio"><label class="control-label" for="member-2"><input type="radio" name="member" value="2" id="member-2">Monthly</label></div>
   <div class="radio"><label class="control-label" for="member-3"><input type="radio" name="member" value="3" id="member-3">Yearly</label></div>                     
</div>

有人已经遇到过这个问题吗?

0 个答案:

没有答案