CakePHP 3改变了无线电输入模板

时间:2016-01-11 20:37:29

标签: forms cakephp helper radio cakephp-3.1

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')]
    ]);

1 个答案:

答案 0 :(得分:10)

您需要设置echo $this->Form->input('condition_access', [ 'type' => 'radio', 'options' => [ ['value' => 1, 'text' => __('Free Access')], ['value' => 2, 'text' => __('Payment Access')], ['value' => 3, '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>

输出:

static void changeMe(int prim) {
prim++;
static void changeMe(int[] obj) {
    obj[0]++;
}
public static void main(String[] args) {
    int i = 5;
    int[] j = {5};
    System.out.println("Before \ti = " + i + " \tj[0] = " + [0]);
    changeMe(i);
    changeMe(j);
    System.out.println("After \ti = " + i + " \tj[0] = " + j[0]);
}