public function ChooseBlockController::inlineBlockList in Drupal 8
Same name and namespace in other branches
- 9 core/modules/layout_builder/src/Controller/ChooseBlockController.php \Drupal\layout_builder\Controller\ChooseBlockController::inlineBlockList()
Provides the UI for choosing a new inline block.
Parameters
\Drupal\layout_builder\SectionStorageInterface $section_storage: The section storage.
int $delta: The delta of the section to splice.
string $region: The region the block is going in.
Return value
array A render array.
1 string reference to 'ChooseBlockController::inlineBlockList'
- layout_builder.routing.yml in core/
modules/ layout_builder/ layout_builder.routing.yml - core/modules/layout_builder/layout_builder.routing.yml
File
- core/
modules/ layout_builder/ src/ Controller/ ChooseBlockController.php, line 183
Class
- ChooseBlockController
- Defines a controller to choose a new block.
Namespace
Drupal\layout_builder\ControllerCode
public function inlineBlockList(SectionStorageInterface $section_storage, $delta, $region) {
$definitions = $this->blockManager
->getFilteredDefinitions('layout_builder', $this
->getAvailableContexts($section_storage), [
'section_storage' => $section_storage,
'region' => $region,
'list' => 'inline_blocks',
]);
$blocks = $this->blockManager
->getGroupedDefinitions($definitions);
$build = [];
$inline_blocks_category = (string) $this
->t('Inline blocks');
if (isset($blocks[$inline_blocks_category])) {
$build['links'] = $this
->getBlockLinks($section_storage, $delta, $region, $blocks[$inline_blocks_category]);
$build['links']['#attributes']['class'][] = 'inline-block-list';
foreach ($build['links']['#links'] as &$link) {
$link['attributes']['class'][] = 'inline-block-list__item';
}
$build['back_button'] = [
'#type' => 'link',
'#url' => Url::fromRoute('layout_builder.choose_block', [
'section_storage_type' => $section_storage
->getStorageType(),
'section_storage' => $section_storage
->getStorageId(),
'delta' => $delta,
'region' => $region,
]),
'#title' => $this
->t('Back'),
'#attributes' => $this
->getAjaxAttributes(),
];
}
$build['links']['#attributes']['data-layout-builder-target-highlight-id'] = $this
->blockAddHighlightId($delta, $region);
return $build;
}