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

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.

主站蜘蛛池模板: 丽江市| 库尔勒市| 区。| 黄冈市| 茌平县| 金阳县| 五台县| 崇仁县| 昌邑市| 东丽区| 柏乡县| 搜索| 宣武区| 安顺市| 巴南区| 东至县| 肇州县| 侯马市| 江达县| 莱芜市| 怀宁县| 和顺县| 通州区| 昭觉县| 宿州市| 盘锦市| 凤翔县| 盐边县| 肥城市| 明光市| 蓬溪县| 永清县| 贵溪市| 鹤山市| 灵川县| 禹城市| 二连浩特市| 喀喇沁旗| 米脂县| 富宁县| 霍城县|