官术网_书友最值得收藏!

Rendering forms

Staying on forms for just a bit longer, let's quickly learn how to render forms programmatically. We have already seen how to map a form to a route definition so that the page being built contains the form when accessing the route path. However, there are times when we need to render a form programmatically, either inside a Controller or a block, or wherever you want. We can do this using the FormBuilder service.

The form builder can be injected using the form_builder service key or used statically via the shorthand:

$builder = \Drupal::formBuilder(); 

Once we have it, we can build a form, like so:

$form = $builder->getForm('Drupal\hello_world\Form\SalutationConfigurationForm'); 

In the preceding code, $form will be a render array of the form that we can return, for example, inside a Controller. We'll talk more about render arrays a bit later on, and you'll understand how they get turned into actual form markup. However, for now, this is all you need to know about rendering forms programmatically—you get the form builder and request from it the form using the fully qualified name of the form class.

With this, we can close the parenthesis on forms.

主站蜘蛛池模板: 桑日县| 黑龙江省| 珲春市| 福安市| 鹤庆县| 唐山市| 丹阳市| 内江市| 临沧市| 彭州市| 南召县| 乐昌市| 南部县| 鄄城县| 广灵县| 青海省| 汉寿县| 邢台市| 杭锦旗| 敦煌市| 泸水县| 扎赉特旗| 临朐县| 屯留县| 平邑县| 淮北市| 黄大仙区| 错那县| 新沂市| 平昌县| 米泉市| 资源县| 太保市| 青神县| 武平县| 泾源县| 固阳县| 宕昌县| 东丽区| 宝丰县| 梨树县|