Существует два варианта возврата (D8) или рендеринга (D7) формы. Это \Drupal::formBuilder()->getForm
и есть Drupal::formBuilder()->buildForm
. Я использую \Drupal::formBuilder()->getForm
как ниже.
Используйте это, если вы не передаете параметр:
$form = \Drupal::formBuilder()->getForm('\Drupal\example\Form\ExampleForm');
return $form;
Используйте это, если вы передаете параметр:
$parameter = "your_parameter";
$form = \Drupal::formBuilder()->getForm('\Drupal\example\Form\ExampleForm', $parameter);
return $form;
//pass to formbuild function
public function buildForm(array $form, FormStateInterface $form_state, $parameter = NULL){//form code}
Drupal 7 Эквивалент вышеупомянутого:
$parameter = 'your_parameter';
$form = drupal_get_form('form_id', $parameter);
print drupal_render($form);
//pass to form function
function form_id ($form, &$form_state, $parameter){//form code}
Приветствия. Дайте мне знать, если это поможет.