用户登录

使用 hook,我们可以修改区块,可以是核心自带的区块,或者其它模块里面定义的区块。 比如我想在所有的区块元素上面添加一个 css 类 .. 可以使用 hook_block_view_alter 这个 hook ..

在我们自己定义的模块里面,打开它的 .module 文件 .. 在这里可以去实施一下想要使用的 hook .. 定义一个函数 .. 名字可以先用模块的名字,我这里就是 ninghao_demo .. 然后是 hook 的名字 .. block_view_alter .. 它里面有两个参数 .. 一个是用引用方式传递过来的 build .. 它是一个数组 .. 还有一个参数是 block .. 它属于 \Drupal\Core\Block\BlockPluginInterface 这个接口 ..

在这个函数里面,我们可以去做一些判断来决定要修改的区块是哪些 .. 它的 block 参数里面就是区块的相关信息 .. 这里我想在所有的区块上面添加一个 css 类 .. 可以这样 .. $build .. 设置一下它的 #attributes ,里面的 class ... 在这个数组里面添加一个新的项目 .. 等号的右边就是项目的值 .. 也就是我们要添加的 css 类 ..

比如我想添加一个叫 item 的 css 类 .. 保存一下 .. 再去重建一下 Drupal 的缓存 .. 回到前台页面 .. 刷新 .. 检查一下页面 .. 选中一个区块 .. 找到这个区块的包装元素 .. 你会看到它上面会有一个名字是 item 的 css 类 ...

使用 hook 修改区块《 Drupal 8 开发:区块 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点