表单 – CakePHP 3更改无线电输入模板

CakePHP 3创建一个标签的无线电容器 – >这样的输入
<div class="radio">
    <label class="radio-acces-checked" for="condition-access-1">
      <input id="condition-access-1" type="radio" value="1" name="condition_access">
      Free access
    </label>
</div>
...

我想改变结构,但它不起作用,它总是相同的结构……你对如何解决我的问题有一个想法吗?

$myTemplates = [
  'radioWrapper' => '<div class="radio">{{label}}{{input}}</div>'
];
echo $this->Form->radio('condition_access',[
      ['value' => 1,'text' => __('Free Access')],['value' => 2,'text' => __('Payment Access')],['value' => 3,'text' => __('Reduce price')]
    ]);

解决方法

您需要设置nestingLabel模板:
echo $this->Form->input('condition_access',[
    'type' => 'radio','options' => [
        ['value' => 1,'text' => __('Reduce price')]
    ],'templates' => [
        'nestingLabel' => '{{hidden}}<label{{attrs}}>{{text}}</label>{{input}}','radioWrapper' => '<div class="radio">{{label}}</div>'
    ]
]);

输出

<div class="input radio">
    <label>Condition Access</label>
    <input name="condition_access" value="" type="hidden">
    <div class="radio">
        <label for="condition-access-1">Free Access</label>
        <input name="condition_access" value="1" id="condition-access-1" type="radio">
    </div>
    <div class="radio">
        <label for="condition-access-2">Payment Access</label>
        <input name="condition_access" value="2" id="condition-access-2" type="radio">
    </div>
    <div class="radio">
        <label for="condition-access-3">Reduce price</label>
        <input name="condition_access" value="3" id="condition-access-3" type="radio">
    </div>
</div>

相关文章

vue阻止冒泡事件 阻止点击事件的执行 &lt;div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些