CakePHP:$ form-> input('checkbox');

时间:2010-08-25 03:39:55

标签: cakephp

with config div =>假

$form->input('checkbox');

打印

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

但我希望它反向顺序

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

能倒转吗?

3 个答案:

答案 0 :(得分:11)

除了ShiVik发布的方法之外,还有一种更简洁的方法。这迫使您手动输入标签内的复选框标题。如果你不想这样,有一种方法可以重新排列元素的顺序。

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

<?php echo $this->Form->input('checkbox', array(
                                  'type'=>'checkbox', 
                                  'format' => array('before', 'input', 'between', 'label', 'after', 'error' ) 
  ) ); ?>
  • 编辑,发现你的帖子正在运行蛋糕1.2。此代码适用于蛋糕1.3

答案 1 :(得分:2)

您可以通过将标签设置为false并使用“之前”选项显示所需的标签来执行此操作。

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

有用的链接

如果不是这样,那么您可以使用Form element specific methods代替automagic form elements

答案 2 :(得分:1)

如果通用FormHelper::input包装器不符合您的账单,通常更容易手动执行:

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

我经常不在脚手架之外使用FormHelper::input