Lugir 2017-02-23 15:11
系统配置表单也是 Drupal 8 常用表单的一种,使用此表单可以用于定义和保存模块配置项。在 Drupal 8 中,模块配置信息不仅保存于数据库中,同时也与 YAML 文件保持同步,使得开发和部署更为方便。
配置迁移问题是 Drupal 7 及以前 Drupal 站点的重大短板,如今通过 Drupal 8 的配置管理,大大降低了配置迁移的难度,对新手尤其有帮助。详情可参考《浅谈 Drupal 配置迁移》、《Drupal 8 配置管理机制及新特性简介》
Simple Configuration API(配置接口)通过 $config
对象与 YAML 文件进行交互,并处理 YAML 文件的 CRUD(Create/Read/Update/Delete)行为。通过使用 ::get()
, ::set()
和 ::save()
等方法可以对配置进行存取操作,配置数据也将被保存于 {module}.settings.yml 文件中。
以 hello_world 模块为基础(详见《Drupal 8 模块开发入门教程》),按照以下步骤为其增加模块配置页面
1、打开 hello_world.info.yml,向其中加入以下代码,定义配置项路由
configure: hello_world.settings
2、打开 hello_world.routing.yml 文件,追加以下路由(与第1步相对应)
hello_world.settings:
path: '/admin/config/development/hello'
defaults:
_title: 'Hello World Settings'
_form: '\Drupal\hello_world\Form\HelloWorldSettingsForm'
requirements:
_permission: 'administer site configuration'
3、创建表单文件 hello_world/src/Form/HelloWorldSettingsForm.php 并写入以下代码定义表单并处理表单内容。