/** * Converts Views block content to a renderable array with contextual links. * * @param string|array $output * An 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). * @param string $block_type * The type of the block. If it's 'block' it's a regular views display, * but 'exposed_filter' exist as well. */ 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 = array('#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); } }