最近做一个多语言网站,有个地方需要在代码中获取block的翻译内容,方案如下:
$block = \Drupal::entityTypeManager()->getStorage('block_content')
->loadByProperties([
'info' => 'xxx',
]);
if ($block) {
$translated_blocks = array_map(function ($block) use($current_langcode) {
return $block->getTranslation($current_langcode);
}, $block);
$content = array_pop($translated_blocks);
$content = $content->get('body')->value;
}