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

  • Drupal 8 Module Development
  • Daniel Sipos
  • 225字
  • 2021-07-02 12:22:40

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.

主站蜘蛛池模板: 香河县| 娱乐| 宝鸡市| 天全县| 闽清县| 潼关县| 集安市| 枣阳市| 凤山县| 昌宁县| 英德市| 临颍县| 额济纳旗| 定襄县| 马边| 定日县| 阜康市| 于都县| 兴化市| 卓资县| 元阳县| 汤阴县| 太谷县| 称多县| 长沙县| 铁岭市| 连平县| 舟曲县| 西丰县| 南安市| 吉木乃县| 方城县| 阳原县| 太康县| 资阳市| 丰原市| 泉州市| 茂名市| 开远市| 吉隆县| 阿克|