Đố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?