CakePHP 3 更改无线电输入模板
Posted
技术标签:
【中文标题】CakePHP 3 更改无线电输入模板【英文标题】:CakePHP 3 changing the radio input template 【发布时间】:2016-04-16 07:09:30 【问题描述】: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">labelinput</div>'
];
echo $this->Form->radio('condition_access', [
['value' => 1, 'text' => __('Free Access')],
['value' => 2, 'text' => __('Payment Access')],
['value' => 3, 'text' => __('Reduce price')]
]);
【问题讨论】:
你在哪里设置模板? 【参考方案1】:你需要设置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<labelattrs>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>
【讨论】:
有没有办法在模板中放置一些 html 以便我可以在标签中做一些更好的事情? book.cakephp.org/3.0/en/views/helpers/… input @PatricePoliquin 你可以在模板中添加任何你想要的东西,只要它不会弄乱模板引擎(例如避免使用
或
)。
@Holt 我是否可以在每个 text (以上是关于CakePHP 3 更改无线电输入模板的主要内容,如果未能解决你的问题,请参考以下文章