微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

表单 – 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>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐