protected function ViewsBlockBase::addContextualLinks in Drupal 9
Same name and namespace in other branches
- 8 core/modules/views/src/Plugin/Block/ViewsBlockBase.php \Drupal\views\Plugin\Block\ViewsBlockBase::addContextualLinks()
- 10 core/modules/views/src/Plugin/Block/ViewsBlockBase.php \Drupal\views\Plugin\Block\ViewsBlockBase::addContextualLinks()
Converts Views block content to a renderable array with contextual links.
Parameters
string|array $output: A string|array representing the block. This will be modified to be a renderable array, containing the optional '#contextual_links' property (if there are any contextual links associated with the block).
string $block_type: The type of the block. If it's 'block' it's a regular views display, but 'exposed_filter' exist as well.
2 calls to ViewsBlockBase::addContextualLinks()
- ViewsBlock::build in core/
modules/ views/ src/ Plugin/ Block/ ViewsBlock.php - Builds and returns the renderable array for this block plugin.
- ViewsExposedFilterBlock::build in core/
modules/ views/ src/ Plugin/ Block/ ViewsExposedFilterBlock.php
File
- core/
modules/ views/ src/ Plugin/ Block/ ViewsBlockBase.php, line 203
Class
- ViewsBlockBase
- Base class for Views block plugins.
Namespace
Drupal\views\Plugin\BlockCode
protected function addContextualLinks(&$output, $block_type = 'block') {
// Do not add contextual links to an empty block.
if (!empty($output)) {
// Contextual links only work on blocks whose content is a renderable
// array, so if the block contains a string of already-rendered markup,
// convert it to an array.
if (is_string($output)) {
$output = [
'#markup' => $output,
];
}
// views_add_contextual_links() needs the following information in
// order to be attached to the view.
$output['#view_id'] = $this->view->storage
->id();
$output['#view_display_show_admin_links'] = $this->view
->getShowAdminLinks();
$output['#view_display_plugin_id'] = $this->view->display_handler
->getPluginId();
views_add_contextual_links($output, $block_type, $this->displayID);
}
}