用途:该技能面向 Drupal 模块开发,讲解使用 Form API 构建表单的常见做法,包括基于 FormBase 的普通表单与基于 ConfigFormBase 的配置表单。
主要能力:
- 简单表单:继承 FormBase,实现 getFormId、buildForm、submitForm,并在 create 静态方法中通过依赖注入获取服务,例如 entity_type.manager。
- 配置表单:继承 ConfigFormBase,通过 getEditableConfigNames 声明可编辑配置,在 buildForm 中读取配置并设置默认值,在 submitForm 中写入并保存配置。
- 常见表单元素类型:textfield、textarea、select、checkboxes、radios、checkbox、number、email、managed_file、entity_autocomplete、date、details、container、hidden、submit。
- 校验与提交处理器,以及依赖注入的使用方式。
- 使用 Drush 生成表单,包括生成路由。
使用方式:在模块的 src/Form 目录下创建表单类,按示例实现命名空间引用、类定义与所需方法;配置表单需返回可编辑配置名并在提交时调用配置保存。资料未提供具体的 Drush 命令写法。
适用场景:需要为 Drupal 模块添加用户输入界面、设置页面或管理表单时。
限制:资料仅给出示例代码与元素表,未说明版本兼容范围、权限与路由配置细节、校验处理器具体写法,也未提供 Drush 生成命令的完整示例,这些需另行查阅。