
返回到模块的根目录(即 .info.yml 文件所在的位置),添加一个名为 hello_world.routing.yml 的新文件,并在其中添加以下内容:
hello_world.content: path: '/hello' defaults: _controller: '\Drupal\hello_world\Controller\HelloController::content' _title: 'Hello World' requirements: _permission: 'access content'
请注意,你在路由表中为模块保留的位置——第一行中的 hello_world.content——不一定必须是你为模块选择的机器名称。然而,为了保证路由文件与菜单文件之间的一致性,这是最佳实践。完整的条目名称 hello_world.content 将在下一部分添加菜单链接时使用,以便将该链接与此路由表条目关联。


现在,当我们已经为模块的设置页面创建了一个占位符后,让我们来添加一个菜单链接。下面的说明展示了如何在 “管理 > 配置” 页面(http://example.com/admin/config)的 “开发” 部分中,为 hello_world 模块创建一个菜单链接。
在你的模块根目录下创建一个新文件,命名为 hello_world.links.menu.yml,并在其中添加以下内容:


本指南继续介绍 Hello World 模块,展示如何一步一步添加自定义区块(以及更多内容)。
如果你真的喜欢冒险,可以直接跳转到示例模块。Examples 模块包含了更多在本指南中使用的代码示例。如果你是第一次接触,建议继续阅读本指南,并在你准备学习更多内容时再查看示例模块。
要学习所有真正酷的代码和由 Drupal 社区提供的内置文档,可以尝试访问 http://cgit.drupalcode.org/examples/tree/page_example?h=8.x-1.x。
此外,请务必查看相关的 API 文档:




主要主题: 默认配置
概览
在 Drupal 7 中,默认配置(例如内容类型、字段配置、视图等)需要专门的 PHP 代码来进行安装和更新。而在 Drupal 8 中,这些配置与配置管理系统一起存储在 YAML 文本文件中。
例如,配置管理系统负责创建和管理内容类型。你可以通过创建一个命名和结构正确的配置文件,将内容类型与模块一起分发。
示例
创建一个名为 node.type.example_mytype.yml
的文件,并将其放置在你的模块目录下的 config/install
子目录中。例如,如果模块位于 /modules/example
,那么该文件路径就是 /modules/example/config/install/node.type.example_mytype.yml
。
请遵守命名约定:在内容类型前加上模块机器名作为前缀,并用下划线分隔,以避免与其他配置文件冲突。
然后在该文件中写入以下代码:


引言
关于最新版本的 Drupal —— Drupal 8,已经有很多讨论和争论,可以肯定的是:模块的构建方式发生了巨大变化。现在有很多关于新环境的教程,在每一篇中,作者都建议开发者在代码不断发展时,留意未来的更多变化。
在过去几天里,我学习了 一些 这类教程,以及 Examples 模块,并找到了一个相当有趣的示例,我希望它在可预见的未来仍然保持适用!


Drupal 8 基础模块构建实用指南 第二部分
从 .info 到测试,只涵盖基础内容
基本结构
loremipsum.info.yml
name: Lorem ipsum type: module description: 'Drupal 的 Lorem ipsum 生成器' package: Development core: 8.x configure: loremipsum.form
Info 文件现在使用 YML 格式,并且模块与主题之间的差别需要通过类型声明来明确。配置 (configure) 声明指向一个路由(稍后会详细说明),除此之外就没有别的内容。事实上,这是你模块唯一必需的文件。将其保存到 (root/modules) 文件夹后,你就可以在 /admin/modules 启用模块,而不会破坏你的网站。但正如你接下来会看到的,这还远远不够。


Drupal 8 基础模块构建实用指南 第四部分
从 .info 到测试,只涵盖基础内容
到目前为止一切都相当整洁,但我们如何更改所看到的内容呢?当然是通过一些表单。


主要主题:定义自定义配置
你可以在自己的模块中 包含默认配置,其基础是其他模块的功能(节点类型、视图、字段、文本格式等)。
例如,节点模块提供节点类型的配置,因此你可以在自己的模块中定义一个默认的节点类型,并随模块一起提供。
你可能希望为自己的插件、实体和设置定义配置,而这些配置又可以被其他模块使用,就像你可以使用节点类型的配置一样。Drupal 8 让定义你自己的配置变得更简单。
配置文件
模块的配置文件放在模块的 config/install 子目录中。例如,如果模块在 /modules/example 下,那么配置文件路径就是 /modules/example/config/install/example.settings.yml。你可以在此目录中放置模块的配置文件,格式为 YAML。


在 Drupal 中创建一个简单页面有两个步骤:
声明路径及其参数。
此步骤包括页面标题、访问页面的权限要求等。
在 Drupal 7 中,你需要实现 hook_menu()。
在 Drupal 8 中,你需要在模块顶层目录下创建 <module_name>.routing.yml 文件。
编写代码以返回页面主体。
在 Drupal 7 中,你需要编写在 hook_menu() 中指定的页面回调函数。
在 Drupal 8 中,页面回调必须是类的方法或已注册的服务。它可以根据不同条件(HTTP 或 HTTPS、内容头等)有所不同,但这超出了本介绍的范围。
流程
按照本页的示例,你就能在自定义模块中创建一个简单的页面,而无需深入了解 Drupal 的内部机制。更多详细信息请参阅 变更记录,其中介绍了路由系统的更改以及核心和示例项目中的不同实现。
