官术网_书友最值得收藏!

Blocks

Blocks in Drupal 8 are plugins. However, the blocks you create in the UI are content entities and the placement of both in the block layout are configuration entities. So, the block system is a good example of how entities and plugins work hand in hand in Drupal 8. We will talk in more detail about plugin types and entities later in the book.

The block system in Drupal 8 is a great shift from its predecessor. Before, you had to implement two obligatory hooks plus two optional hooks if you wanted the block to have a configuration, and the latter was always saved somewhere that had nothing to do with the block itself. In Drupal 8, we work with a simple plugin class that can be made container-aware (that is, we can inject dependencies into it) and we can store configuration in a logical fashion.

So, how do we create a custom block plugin? All we need is one class, placed in the right namespace—Drupal\module_name\Plugin\Block. In this case (with plugins), the folder naming is important. The plugin discoverability is dependent on the plugin type itself, and this one has the Plugin\Block namespace bit in it. But enough talk, let's create a simple block that just renders the same as our Controller did previously, and I will explain things along the way.

主站蜘蛛池模板: 汉源县| 文昌市| 且末县| 古蔺县| 固阳县| 黎川县| 合作市| 双鸭山市| 临夏县| 青冈县| 碌曲县| 石柱| 阳朔县| 军事| 百色市| 客服| 嘉荫县| 宜城市| 华阴市| 务川| 湖州市| 寿宁县| 南部县| 宜宾市| 乌兰县| 包头市| 潞城市| 门头沟区| 绍兴市| 五寨县| 新余市| 长春市| 邢台市| 托里县| 潼关县| 博罗县| 济南市| 普陀区| 威宁| 来宾市| 英德市|