forms - CakePHP 3 更改单选输入模板

标签 forms cakephp radio-button helper 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')]
    ]);

最佳答案

您需要设置nestingLabel模板:

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>

关于forms - CakePHP 3 更改单选输入模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34730620/

相关文章:

javascript - 何时根据用户输入更新表单

java - 在任何文本字段上按下 Enter 键时的操作

php - 如何在 CakePHP 3 中保存之前格式化日期字段?

php - CakePHP 不支持的操作数

html - 使单选按钮的图像可点击

java - 将 GetCheckedRadioButtonId() 与外部单选按钮组一起使用

javascript - 从 shadowbox 中拉取表单,并从父窗口提交

php - 将文件字段作为字符串提交的表单

cakephp - 使用 xlsHelper 导出 Excel 文件

javascript - 切换两侧按钮 css