Drupal9笔记之获取系统Block内容

drupal的block在项目中用到的地方非常多,一般情况都是在后台配置自定义block,有时候也需要在代码中获取block内容:
因为一般我们不知道block的ID,所以都是定义了专门的字段key。

$block = \Drupal::entityTypeManager()->getStorage('block_content')
      ->loadByProperties(['key' => 'xxx']);

今天我需要使用一个系统block的内容,但是一时不知道怎么获取这个block,于是查了一下。
系统block是没有key的,怎么取呢?
打开Block layout,找到项目下布局的block,找到需要使用的block,点击配置:
在这里插入图片描述
在这里插入图片描述
Machine name 就是block的ID,再使用ID查询即可:

$block = \Drupal::entityTypeManager()->getStorage('block')
      ->loadByProperties(['id' => 'ixtend_messages']);

这里就可以看到block的结构啦:
在这里插入图片描述
PS:
查看系统所有block的方法:

$blocks = Block::loadMultiple();

这个能看到所有的block及结构
在这里插入图片描述

这个方法只能看到ID:

$query = \Drupal::entityQuery('block');
    $ids  = $query->execute();

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值