В документации говорится:
Аргумент, передаваемый методу getForm (), является именем класса, который определяет вашу форму, и является реализацией \ Drupal \ Core \ Form \ FormBuilderInterface.
Как мне узнать имя класса, который определяет форму обратной связи веб-сайта, предоставляемую модулем основного контакта (идентификатор формы:) feedback_contact_message_form
.
Когда я dpm()
в форме, я вижу, что есть определенный класс:
$input array(30)
→'#attributes' => array(1)
→'class' => array(3)
string(29) "feedback-contact-message-form"
string(20) "contact-message-form"
string(12) "contact-form"
Я пробовал различные формы этого в качестве параметра для передачи:
\Drupal::formBuilder()->getForm();
но не повезло. Благодарность
Разве ответ Бердира на мой вопрос не поможет? drupal.stackexchange.com/questions/146617/…
—
alexej_d
Спасибо, но я не слежу за ответом Бердира. Я добавил свой блочный плагин ниже моего ответа - добавив первые две строки из вашего примера кода. Куда мне идти отсюда? Благодарю.
—
dbj44
Drupal\contact\ContactFormEditForm
. Не уверен, что есть простой способ выяснить это, если вы не знаете, что это форма сущности. Наилучшим способом может быть поиск вsrc
папке модуля файлов, имя которых заканчивается наForm.php
. Я думаю, что это безопасное соглашение