มีสองตัวเลือกในการส่งคืน (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}
ไชโย แจ้งให้เราทราบหากช่วยได้