Tôi có một hình thức khá phức tạp dựa trên \Drupal\Core\Form\FormBase
với nhiều trường (được lồng vào nhau một phần) và muốn gửi toàn bộ nội dung trong email khi gửi.
Hiện tại tôi có
hàm công khai submitForm(mảng &$form, FormStateInterface $form_state)
{
foreach ($form_state->getValues() as $key => $value) {
if (!empty($form[$key]['#title']) && $key != 'images') {
$values[$form[$key]['#title']->render()] = $value;
}
}
...
# sau này tôi sẽ định dạng mảng $values dưới dạng danh sách HTML
Điều này sẽ chỉ hiển thị các trường ở cấp cao nhất của biểu mẫu, nhưng tôi có các trường trong nhóm.
Có cách nào hay và rõ ràng để hiển thị tất cả các giá trị của trường không? Hay tôi phải lặp lại và phân tích thủ công qua biểu mẫu $
mảng?
Tôi thậm chí có thể sử dụng trình kết xuất đồ họa cho việc này không?
CHỈNH SỬA:
chức năng công khai buildForm(mảng $form, FormStateInterface $form_state) {
//...
$form['công ty'] = [
'#type' => 'thùng chứa',
];
$form['company']['nameofcompany'] = [
'#type' => 'trường văn bản',
'#title' => $this->t('Tên Công ty'),
];
Tóm lại:
Làm cách nào tôi có thể lặp lại tất cả các trường, bao gồm cả những trường nằm trong vùng chứa và nhận các giá trị + nhãn (không chỉ tên kỹ thuật)? Có một số người trợ giúp tốt cho việc này hay tôi phải làm tất cả theo cách thủ công?