我想改变结构,但它不起作用,它总是相同的结构。如何解决我的问题?
<?php
$default = 'wepay';
$options = array('wepay' => 'WePay', 'paypal' => 'Paypal', 'donorbank' => 'Donor Bank');
echo $this->Form->input('payment_method', [
'templates' => [
'radioWrapper' => '<label class="radio-inline">{{label}}</label>'],
'type' => 'radio',
'options' => $options,
'default' => $default
]);
?>
但是这段代码没有正确生成输出。我想生成如下输出:
<label class="radio-inline">
<input type="radio" name="payment_method" value="wepay" id="payment-method-wepay" checked="checked">WePay
</label>
<label class="radio-inline">
<input type="radio" name="payment_method" value="paypal" id="payment-method-paypal">Paypal
</label>
<label class="radio-inline">
<input type="radio" name="payment_method" value="donorbank" id="payment-method-donorbank">Donor Bank
</label>
我的代码生成如下输出:
<label class="radio-inline">
<label for="payment-method-wepay">
<input type="radio" name="payment_method" value="wepay" id="payment-method-wepay" checked="checked">WePay
</label>
</label>
<label class="radio-inline">
<label for="payment-method-paypal">
<input type="radio" name="payment_method" value="paypal" id="payment-method-paypal">Paypal
</label>
</label>
<label class="radio-inline">
<label for="payment-method-donorbank"><input type="radio" name="payment_method" value="donorbank" id="payment-method-donorbank">Donor Bank
</label>
</label>
这里添加了一个额外的标签字段。如何删除这个额外标签?
答案 0 :(得分:1)
除了class
属性和标签上缺少的for
属性外,您显示的内容几乎都是默认输出。所以你最想修改的是nestingLabel
模板,肯定不是radioWrapper
模板:
'nestingLabel' =>
'{{hidden}}<label class="radio-label"{{attrs}}>{{input}}{{text}}</label>'
如果您要删除for
属性,那么您必须删除{{attrs}}
占位符,这样就不会再向label
元素添加其他属性。
答案 1 :(得分:0)
最后,使用@ndm提示解决了我的问题。最终解决方案如下所示
totalSeconds
希望此解决方案能够在将来帮助他人。