CakePHP:$form->;输入(';复选框';);

CakePHP:$form->;输入(';复选框';);,cakephp,Cakephp,使用config div=>false $form->input('checkbox'); 印刷品 复选框 但我想要相反的顺序 <label>checkbox</label> <input type="checkbox" value="1" ....> 复选框 它可以反转吗?如果通用的FormHelper::input包装器不适合您的账单,手动操作通常会更容易: echo $form->label('fieldname'); echo $

使用config div=>false

$form->input('checkbox');
印刷品


复选框
但我想要相反的顺序

<label>checkbox</label>
<input type="checkbox" value="1" ....>
复选框

它可以反转吗?

如果通用的
FormHelper::input
包装器不适合您的账单,手动操作通常会更容易:

echo $form->label('fieldname');
echo $form->checkbox('fieldname');

我通常不在scaffolding之外使用
FormHelper::input

可以通过将标签设置为false并使用“before”选项在需要的位置显示标签来实现这一点

<?php echo $form->input('checkbox', 
    array(
      'label'=>false, 
      'type'=>'checkbox',
      'before' => '<label>checkbox</lablel>', 
      'div' => false
 )); ?>

有用的链接


如果不是这样,那么您可以使用,而不是。

有一种比ShiVik发布的方法更简洁的方法。这迫使您在标记内手动输入标题至复选框。如果您不希望这样,有一种方法可以重新排列元素的顺序

在您的示例中,您只需要更改$format选项的顺序,如下所示:

<?php echo $this->Form->input('checkbox', array(
                                  'type'=>'checkbox', 
                                  'format' => array('before', 'input', 'between', 'label', 'after', 'error' ) 
  ) ); ?>

  • 编辑,刚刚注意到你的帖子正在运行cake 1.2。此代码适用于cake 1.3

对不起,我经常使用表格的形式:D@meotim这就是为什么我不喜欢使用表单元素特定的方法,而不是使用选项数组尽管如此,答案还是有效的。如果复选框可以轻松反转,那么它就不会与选项数组纠缠。使用inputDefault,您可以配置FastConfig。此处已回答此问题:
<?php echo $this->Form->input('checkbox', array(
                                  'type'=>'checkbox', 
                                  'format' => array('before', 'input', 'between', 'label', 'after', 'error' ) 
  ) ); ?>