Am acest cod:
$form["noah-search-container"]['actions'] = [
'#type' => 'buton',
'#value' => $this->t('Buscar'),
'#ajax' => [
'callback' => '::noahSearchQuery',
],
];
$form["noah-table-container"] = [
"#type" => "container",
„#attributes” => [
"id" => "noah-table-container"
]
];
$form["noah-table-container"]["accession-table"] = [
"#type" => "tabel",
"#prefix" => "<div id='page_note_ajax_form'>",
"#sufix" => "</div>",
"#header" => [
t("Identificador"),
t("Tipo de material"),
t("Nombre cientific"),
t("Banco"),
t(„Imagine”),
t("Añadir"),
t("Ficha"),
],
„#attributes” => [
"class" => ["result_message"]
]
];
Butonul generează conținutul tabelului cu acest formular:
funcția publică noahSearchQuery(matrice &$form, FormStateInterface $form_state) {
... niste chestii...
$form["noah-table-container"]["accession-table"] = NoahIfapaSearchForm::searchTable();
returnează $form["noah-table-container"]["accession-table"];
}
In metoda tabel de căutare
Generez tabelul în felul următor:
funcția publică statică searchTable() {
$răspuns = [];
...un cod...
// $accessions este un tablou dacă ID
foreach ($accesiuni ca $accession_id) {
... Niste chestii..
// obțineți accesarea prin intermediul unor apeluri API,
$response[$accession_id]["identificador"] = [
"#type" => "câmp text",
"#title" => t("Identificator"),
'#title_display' => 'invizibil',
'#default_value' => $accession[0]
];
$response[$accession_id]["tipo-material"] = [
"#type" => "câmp text",
"#title" => t("Tipo de material"),
'#title_display' => 'invizibil',
'#default_value' => $accession[1]
];
$response[$accession_id]["nombre-cientf"] = [
"#type" => "câmp text",
"#title" => t("Număr științific"),
„#title_display” => „invizibil”,
'#default_value' => $accession[2]
];
$response[$accession_id]["banco"] = [
"#type" => "câmp text",
"#title" => t("Banco"),
„#title_display” => „invizibil”,
'#default_value' => $accession[3]
];
$response[$accession_id]["img"] = [
"#type" => "câmp text",
"#title" => t("Imagine"),
„#title_display” => „invizibil”,
'#default_value' => $accession[0]
];
$response[$accession_id]["add"] = [
"#type" => "câmp text",
"#title" => t("Añadir"),
„#title_display” => „invizibil”,
'#default_value' => $accession[0]
];
$response[$accession_id]["ficha"] = [
"#type" => "câmp text",
"#title" => t("Ficha"),
„#title_display” => „invizibil”,
'#default_value' => $accession[0]
];
}
returnează $răspuns;
}
Dar când dau clic pe buton, nimic nu este tipărit în tabel și există date de imprimat.