2010-08-25 24 views
6

với cấu hình div => sai

$form->input('checkbox'); 

in

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

nhưng tôi muốn nó đảo ngược trật tự

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

nó có thể đảo ngược?

+0

Điều này đã được trả lời ở đây: http://stackoverflow.com/questions/34055976/cakephp-3-x-checkbox-formatting-issue – elb98rm

Trả lời

11

Có cách làm gọn hơn so với phương pháp mà ShiVik đã đăng. Điều đó buộc bạn phải nhập tiêu đề vào hộp kiểm bên trong thẻ theo cách thủ công. Nếu bạn không muốn điều đó, có một phương pháp để sắp xếp lại thứ tự các phần tử.

Trong ví dụ của bạn, bạn chỉ đơn giản là muốn thay đổi thứ tự của các tùy chọn định dạng $, như vậy:

<?php echo $this->Form->input('checkbox', array(
            'type'=>'checkbox', 
            'format' => array('before', 'input', 'between', 'label', 'after', 'error') 
)); ?> 
  • Chỉnh sửa, chỉ nhận thấy bài viết của bạn đã được chạy bánh 1.2. Mã này dành cho bánh 1.3
+0

cũng làm việc cho bánh 2 – Yevgeniy

1

Nó thường dễ dàng hơn để làm những việc bằng tay nếu các generic FormHelper::input wrapper không phù hợp với hóa đơn của bạn:

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

Tôi thường không sử dụng FormHelper::input ngoài giàn giáo.

+0

Xin lỗi nhưng tôi thường sử dụng bảng dưới dạng: D – meotimdihia

+0

@meotim Và tại sao điều đó ngăn cản bạn viết nó theo cách này? – deceze

2

Bạn có thể thực hiện việc này bằng cách đặt nhãn thành sai và sử dụng tùy chọn "trước" để hiển thị nhãn nơi bạn muốn.

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

Liên kết hữu ích

Nếu không này, sau đó bạn có thể sử dụng Form element specific methods, thay vì automagic form elements.

+0

Và đó là lý do tại sao tôi thích các phương thức cụ thể của phần tử Biểu mẫu, thay vì đấu vật với mảng tùy chọn. ;) Câu trả lời hợp lệ dù sao đi nữa. – deceze

+0

nó không vật lộn với các tùy chọn mảng nếu hộp kiểm có thể đảo ngược một cách dễ dàng. Với inputDefault, bạn có thể cấu hình nhanh – meotimdihia