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

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.

主站蜘蛛池模板: 杨浦区| 延庆县| 鄢陵县| 财经| 昌邑市| 珠海市| 澎湖县| 金秀| 都匀市| 辽阳市| 定襄县| 双牌县| 凤城市| 于田县| 清远市| 松滋市| 读书| 四川省| 雷山县| 兴城市| 通江县| 清河县| 肇庆市| 建水县| 金山区| 左权县| 荆门市| 昌邑市| 女性| 喀喇沁旗| 巴楚县| 钟祥市| 林芝县| 丹阳市| 南漳县| 福建省| 平南县| 福海县| 寿光市| 石狮市| 城口县|