我正在尝试创建一个复选框,其前面没有附加到输入的标签,以及控制实际输入的复选框后面的标签。它应该在页面上看起来像这样:
Account Suspended: [X] Prevent the user from logging in
view.ctp
$this->Form->label('Account Suspended');
$this->Form->input('account_suspended', array(
'type' => 'checkbox',
'label' => 'Prevent the user from logging in'
));
我目前遇到的问题是第一个标签是使用与输入ID匹配的自动生成的for
属性创建的,因此如果单击它们,两个标签都会切换复选框。
CakePHP为第一个标签生成的标记看起来像这样,因为它会自动将标签值转换为for
属性的驼峰式ID:
<label for="CustomerAccountSuspended">Account Suspended:</label>
我希望第一个标签是:
<label>Account Suspended:</label>
如何使用cakePHP FormHelper执行此操作,而不是手动输入标签HTML?
答案 0 :(得分:3)
有可能:
echo $this->Form->label('Account Suspended', null, array('for' => false));
不要忘记使用翻译:P几乎每个代码的每个部分都是可重用的。如果你现在不需要它,你可以在其他项目中节省一些时间;)
问候 func0der
答案 1 :(得分:0)
你不能输入纯HTML?如果您不需要自动生成的for
属性,则无需调用FormHelper。
echo '<label>Account Suspended:</label>';
$this->Form->input('account_suspended', array(
'type' => 'checkbox',
'label' => 'Prevent the user from logging in'
));
或
<label>Account Suspended:</label>
<?php
$this->Form->input('account_suspended', array(
'type' => 'checkbox',
'label' => 'Prevent the user from logging in'
));
完全有效