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

с конфигурацией div = > false

$form->input('checkbox');

печати

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

но я хочу, чтобы это обратный порядок

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

может ли он повернуть вспять ?

3 ответов


есть более аккуратный способ сделать это, чем метод, опубликованный Шивиком. Это заставило вас вручную ввести флажок title to внутри тега. Если вы этого не хотите, есть способ переупорядочить порядок элементов.

в вашем примере вы просто хотите изменить порядок опции $format, например:

<?php echo $this->Form->input('checkbox', array(
                                  'type'=>'checkbox', 
                                  'format' => array('before', 'input', 'between', 'label', 'after', 'error' ) 
  ) ); ?>
  • Edit, просто заметил, что ваш пост работает торт 1.2. Этот код для торта 1.3

вы можете сделать это, установив метку в false и используя опцию "до", Чтобы отобразить метку, где вы хотите.

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

Полезные ссылки

если не это, то можно использовать конкретные методы элемента формы, вместо элементы автоматической формы.


часто легче делать вещи вручную, если общий FormHelper::input обертка не соответствует вашему счету:

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

Я часто не использую FormHelper::input за пределами леса.