I'm trying to work with the FormHelpers::radio in CakePHP3 and I want to know how I could manage to do some HTML arround each input of the array.
If I check the documentation above, we can see that the Helper asks for those parameters.
Cake\View\Helper\FormHelper::radio(string $fieldName, array $options, array $attributes)
So, in my HTML I went for something similar with the two firsts. But when it comes to the $attributes array, there is no information on what I am able to do.
My code
<?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>'
]
);
?>
The output
<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>
You can see that the label become "good" but my before and after <div>
are not rendering.
My goal would be to wrap each input/label in a div (Something like this).
<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>
Has somebody already experienced this problem?