У меня есть специальный модуль, который успешно отображает результаты запроса, когда пользователь переходит на определенную страницу, выполняя запрос, который захватывает 50 записей. Я хочу использовать форму для сбора пользовательского ввода, чтобы создать более конкретный запрос.
У меня работает форма, она собирает данные, выполняет запрос, но я не могу отобразить результаты в той же форме. Я много часов гуглил об этом и не могу найти четкого ответа. Форма выглядит так:
public function buildForm(array $form, FormStateInterface $form_state){
$form['employee_last_name'] = array(
'#type' => 'textfield',
'#title' => t('Last Name:'),
'#default_value' => (isset($record['LAST_NAME'])) ? $record['LAST_NAME']:'',
'#attributes' => array('class' => array('test')
)
);
Когда форма возвращается с результатом, я пытаюсь записать в таблицу формы, но это не работает. Нужно ли мне перестраивать форму, отображать таблицу форм? Я надеюсь отобразить результаты на той же странице, что и поля формы. Я повторяю результат и помещаю его в переменную $rows, используемую в объявлении таблицы.
форма таблицы:
$form['table'] = [
'#type' => 'table',
'#header' => $header_table,
'#rows' => $rows,
'#empty' => t('No users found'),
];
Спасибо
$form_state = new FormState(); $form_state->setRebuild(); $form_state->set('result', 'test'); $form_state->set('result_table', $form['results_table']); $searchForm = \Drupal::formBuilder()->buildForm('Drupal\workforce_data\Form\SearchForm', $form_state); return [ 'form' => $searchForm, ];
- person Tobi   schedule 30.04.2020