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

Blocks

Custom blocks in Drupal 8 are plugins. Finally, we encounter our first plugin type. For the sake of full disclosure, the content blocks that you create through the UI to place in a region and the custom blocks that are placed in a region are content entities. So, the block system is a good example of how entities and plugins work hand in hand in Drupal 8, and not to make matters too complex for you, configuration entities (about which we will learn in a later chapter) also play a big role here.

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 easily? 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. 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.

主站蜘蛛池模板: 石渠县| 宿迁市| 景德镇市| 德清县| 麟游县| 旺苍县| 鱼台县| 多伦县| 庄浪县| 五指山市| 灵山县| 长治县| 千阳县| 分宜县| 来凤县| 永吉县| 灵武市| 仪征市| 台南市| 贵溪市| 仲巴县| 长丰县| 龙州县| 宕昌县| 长白| 龙海市| 清远市| 安多县| 亚东县| 贺州市| 台东市| 苏尼特右旗| 永川市| 娄底市| 满城县| 五原县| 昌图县| 和平区| 八宿县| 宜春市| 玉屏|