原文地址:
https://docs.acquia.com/articles/drupal-8-entities-lab
总结
在 Drupal 8 中,无论你选择三种方式(手动,用户界面,象 Console 这样的工具)中的那种创建实体类型都比较容易。尽管内容类型可能是你创建的第一个实体,但很快你会发现想创建其他的。
完整步骤
- 切换到 Examples 根目录
- 创建空目录 entity_example
- 创建 entity_example.info.yml 文件
- 创建 *.routing.yml 安装路由
- 创建 *.links.menu.yml 安装菜单
- 创建 *.links.action.yml 在页面追加路由
- 创建 *.links.task.yml 文件,在实体查看页和设置页追加 tabs。
- 创建实体类
- 在 src 目录创建 *Interface.php 文件
- 在 src/Entity 目录创建 *.php 文件定义实体类
- 创建控制器文件
- 在 src/Entity/Form 目录创建 *Form.php 文件,定义追加和编辑实体内容
- 在 src/Entity/Form 下的 *Form.php 文件定义删除实体类型的表单
- 创建 src/Entity/Controller/ContactListBuilder.php 文件,定义联系列表的头和行内容。
- 在 src/Entity/Form 下的 *SettingsForm.php 文件定义管理实体字段的表单。
额外的练习
- 创建个模块,使用 Console 模块创建一个自定义实体。
- 定义个新的内容类型,激活修订版本(revisions ),默认提交到首页。
- 手动创建实体
额外信息
- Introduction to Content Types - drupal.org
- Include default configuration in your Drupal 8 module - drupal.org