有两个选项可以返回(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}
干杯。让我知道是否有帮助。