Vă rog, am nevoie de ajutor cu codul meu. Am un formular și un bloc create programatic. Blocul încorporează formularul pentru a-l afișa pe front-end.Blocul are și unele setări (text prefix de formă). Vreau să încarc setările de bloc în interiorul meu buildForm în Form.php meu pentru a obține textul prefixului și a-l afișa în câmpul de markup al formularului. Dar se pare că nu găsesc o modalitate de a transmite $block_id la buildForm() astfel încât să poată încărca blocul.
Am un scenariu în care pot exista două dintre aceste blocuri pe aceeași pagină în care Drupal unifică blocul prin adăugarea unui ID cu ID-ul blocului. Deci, de exemplu, pagina mea are două dintre aceste blocuri unul ar fi feedbackblock
celălalt ar fi feedbackblock_2
prin urmare, nu pot codifica ID-ul blocului pentru a-l încărca în funcția mea buildForm.
Vreau să treacă în mod dinamic ID-ul blocului în formular.
build() din Block.php meu:
public function build() {
$block_id // obține id-ul de bloc al instanței blocului curent
$feedback_form = $this->formBuilder->getForm(FeedbackForm::class, $block_id);
$build = [];
$build['#theme'] = 'feedback_block';
$build['feedback_block']['#markup'] = randare($feedback_form);
returnează $build;
}
buildForm din FeedbackForm.php meu:
funcția publică buildForm(array $form, FormStateInterface $form_state, șir $block_id) {
// Obțineți ID-ul blocului aici.
}
Există vreo modalitate de a realiza acest lucru?