Drupal 8 模块开发 3.3 : 实验室和其他信息

注意事项:
如支付后未自动显示完整内容,可点击“已支付?点此查询订单”进行查看。
如遇内容不符或缺失,请联系内容作者或平台客服(工作日 9:00-18:00)。

总结

本课我们研究了配置和配置表单。也了解了 ConfigFormBase 。

现在你可以尝试在多个站点间导入导出配置操作。

总体来讲,你现在应该看到 Drupal 8 配置是如何强大,以及对比 Drupal 7 在部署方面的改善。

我们学习了模块级别的配置实现:

  • 配置管理代替了 Drupal 7 大杂烩的功能集合,为模块存储配置数据提供了一个核心位置。
  • YAML 文件作为了把配置记录在代码中的统一实现标准。
  • 配置表单是把配置数据存储到数据库和文件系统的特定使用形式。
  • 一个配置对象(Config Object)是一个配置的实例化。

完整步骤

  1. 切换到 Examples 根目录
  2. 创建空目录 configform_example
  3. 切换到 configform_example 目录
  4. 创建 configform_example.info.yml 文件
  5. 粘贴例子代码到 configform_example.info.yml 文件
  6. 创建 configform_example.routing.yml 文件
  7. 粘贴例子代码到 configform_example.routing.yml 文件
  8. 创建空目录 src
  9. 切换到 src
  10. 创建空目录 Form
  11. 切换到 Form 目录
  12. 创建 ConfigFormExampleConfigForm.php 文件
  13. 粘贴例子代码到 ConfigFormExampleConfigForm.php 文件
  14. 切换回 configform_example 目录,创建 configform_example.links.menu.yml 文件
  15. 粘贴例子代码到 configform_example.links.menu.yml 文件
  16. 替换 ConfigFormExampleConfigForm.php 文件中的 FormBase 为 ConfigFormBase
  17. 创建空目录 config/install
  18. 在 config/install 目录下创建 configform_example.settings.yml 文件
  19. 改变 buildForm() 方法
  20. 改变 getFormId() 方法
  21. 变更 submit 处理器
  22. 激活这个模块
  23. 清除缓存
  24. 测试
    http://mysite.com/examples/configform_example/simple

你会看到我们新加的配置项。

额外问题

为了加深理解,你可以研究下以下问题:

  • Drupal 7 中配置是怎么工作的?
  • 给出三个理由,为什么把配置功能集中的一个系统内比较好?
  • 把例子代码改下,在配置系统内保存两个值。
  • 了解更多 schemas 知识。

实用链接

看完了?还不过瘾?点此向作者提问