2012-09-23 25 views
24

Đối với dự án mới của chúng tôi, chúng tôi đã bắt đầu sử dụng Zend Framework 2 và Dojo 1.8. ZF2 có một mô-đun biểu mẫu được viết lại hoàn toàn, hiện có tính năng CollectionElement mới cho các mối quan hệ một-nhiều. Về UI tôi thấy, dgrid phù hợp nhất cho các mối quan hệ như vậy (sử dụng plugin cột trình soạn thảo), vì vậy tôi bắt đầu mở rộng trình trợ giúp xem FormCollection, FormRow và FormElement, để chúng có thể hiển thị dgrid mong muốn. Mọi thứ đều ổn cho đến khi tôi nhận ra, rằng tôi không thể thiết lập tên đầu vào mỗi hàng cho các widget dgrid.Sử dụng dgrid trong bộ sưu tập biểu mẫu trong ứng dụng Zend Framework 2

Tôi bắt đầu với số ZF2 documentation rearding form collections. Người ta có thể thấy, các yếu tố thu nhập có tên mảng giống như như

order[products][0][name] 
order[products][0][price] 
order[products][1][name] 
order[products][1][price] 

Mặt khác, cấu hình dgrid được cột dựa, vì vậy tôi có thể có một định nghĩa cột như

editor({ 
    field: "_dojo_textbox_505ee3a390d705_26717315", 
    label: "Name", 
    editorArgs: { 
     name: "order[products][{index}][name]", 
    } 
}, TextBox) 

nét Cột này sẽ xác định đặt cùng một tên tiện ích cho tất cả các hàng, không hoạt động với yêu cầu định dạng dữ liệu thu thập ZF2.

Những gì tôi cũng đã cố gắng là đặt tên cho các cột như thế này:

order[products][] 

mà làm việc, nhưng không cho phép định dạng mong muốn

order[products][][name] 

Có lẽ đó là một cách để gửi dữ liệu như thế này :

order[products][name][] 

và chuyển đổi sau đó, nhưng giải pháp có vẻ không đúng. Bên cạnh điều này tôi đang cố gắng để sản xuất mã tái sử dụng và muốn tránh sửa đổi dữ liệu trên mỗi hình thức.

Vì tôi đang cố gắng hết sức để tránh xử lý sự kiện onSubmit/onClick để chuyển đổi dữ liệu, có 2 giải pháp có thể: 1. Làm cho dgrid có thể đặt tên tiện ích mỗi hàng 2. Làm cho biểu mẫu ZF2 hiểu một số khác- định dạng POST chuẩn hơn cho các bộ sưu tập

Thật không may, tôi đã hết các ý tưởng, làm cách nào để thực hiện các giải pháp này, vì vậy tôi sẽ biết ơn nhất, nếu bạn có thể cho tôi một bàn tay với điều này!

Vì điều này có liên quan với câu hỏi hiện tại của tôi, tôi sẽ đặt câu hỏi này ở đây là câu hỏi phụ: Bạn sử dụng giải pháp giao diện người dùng nào khác cho giao diện biểu mẫu một-nhiều của bạn với dojo?

Trả lời

1

Trong khung công tác Zend phiên bản 2, chính "Zend \ Form" có khả năng thêm thành phần mới vào phần tử "Bộ sưu tập" động.

Bạn có thể kiểm tra xem here

Các vấn đề liên quan