Trong html bình thường, chúng ta có thể có một trường mảng như person[]
mảng đầu vào như name = "người []" ở dạng zend
<input name="person[]" type="text" />
<input name="person[]" type="text" />
<input name="person[]" type="text" />
Theo như tôi biết, Zend_Form không có điều đó. Tôi đọc another answer đề xuất rằng nó có thể được thực hiện bằng cách sử dụng một trang trí có thể thêm []
vào đúng vị trí. Đây là mã cho câu hỏi cụ thể đó
$html = ''; // some code html
$i = 0;
foreach ($element->getMultiOptions() as $value => $label){
$html .= '<input type="checkbox" '
. 'name="'.$element->getName().'[]" '
. 'id="'$element->getName()'-'.$i.'" '
. 'value="'.$value.'" />';
$i++;
}
return $html;
Điều này có vẻ như là một khởi đầu tốt, nhưng tôi tự hỏi nếu sử dụng trang trí là đủ. Các giá trị được trả lại phải được đọc chính xác và được gửi đến máy chủ, sau đó được xác thực ở phía máy chủ. Vì vậy, là một trang trí ý tưởng sai? Một yếu tố tùy chỉnh có ý nghĩa hơn ở đây không? Tôi đã không nhìn thấy một ví dụ tốt cho thấy làm thế nào điều này có thể được thực hiện.
Kiểm tra hướng dẫn sử dụng: http://framework.zend.com/manual/en/zend.form.advanced.html –