Пожалуйста, мне нужна помощь с моим кодом. У меня есть форма и блок, созданный программно. Блок встраивает форму, чтобы показать ее во внешнем интерфейсе.Блок также имеет некоторые настройки (текст преффикса формы). Я хочу загрузить настройки блока внутри моей buildForm в моем Form.php, чтобы получить текст префикса и показать его в поле разметки формы. Но я не могу найти способ передать $block_id в buildForm(), чтобы он мог загрузить блок.
У меня есть сценарий, в котором на одной странице могут быть два таких блока, в которых Drupal уникален блоком, добавляя некоторый идентификатор к идентификатору блока. Так, например, на моей странице есть два таких блока, один из которых будет выглядеть так: блокировка обратной связи
другой был бы блок отзывов_2
следовательно, я не могу жестко закодировать идентификатор блока, чтобы загрузить его в мою функцию buildForm.
Я хочу, чтобы он динамически передавал идентификатор блока в форму.
build() из моего Block.php:
общедоступная функция сборки () {
$block_id // получить идентификатор блока текущего экземпляра блока
$feedback_form = $this->formBuilder->getForm(FeedbackForm::class, $block_id);
$сборка = [];
$build['#theme'] = 'feedback_block';
$build['feedback_block']['#markup'] = render($feedback_form);
вернуть $сборку;
}
buildForm из моего FeedbackForm.php:
общедоступная функция buildForm (массив $ form, FormStateInterface $ form_state, строка $ block_id) {
// Получите идентификатор блока здесь.
}
Есть ли способ добиться этого?