创建字段类型的Drupal托管
在Drupal 8块是块插件的实例。
Drupal的区块管理器扫描您的模块包含一个@Block注释的所有类。
下面的示例代码片段利用了@Block注释的与属性“id”和“admin_label”来定义自定义块一起。
先前创建的模块构架内创建文件src /插件/座/ HelloBlock.php,并添加以下代码。你会的,当然,需要重建缓存。

要添加“你好块”你可以去结构 - >块布局(管理/结构/块),并点击与每个可用区相关“放置块”按钮。
点击“放置块”按钮对于任何给定区域内的“放置块”对话框弹出会出现,与所有可用块的列表。要快速找到你的块,只需使用选项“块名称筛选”或使用鼠标滚动找到“你好块”。这样,您就可以添加您的网站的任何地方的任何数量的自定义模块的实例。
故障排除
类名和文件名必须是相同的(类HelloBlock和/src/Plugin/Block/HelloBlock.php)。如果类名是不同的,该块将出现在可用块列表,但您将无法添加它。
一定要仔细检查所有的路径和文件名。你.PHP必须在正确标记目录(/ src目录/插件/座/),否则将无法通过Drupal的发现。
注意:使用枝杈模板的自定义模块
- 在你的.module文件添加_theme钩。不要名称,如“block__主题化的功能。 “ - 这不会传递任何变量下降到树枝模板。相反,你可以使用模块名作为前缀。
- 使用“#theme”在构建方法渲染阵列中,并在同一水平上传递的变量,如“#theme” - “#varname”。