| 7 contextual.api.php | hook_contextual_links_view_alter(&$element, $items) |
| 8 contextual.api.php | hook_contextual_links_view_alter(&$element, $items) |
Alter a contextual links element before it is rendered.
This hook is invoked by contextual_pre_render_links(). The renderable array of #type 'contextual_links', containing the entire contextual links data that is passed in by reference. Further links may be added or existing links can be altered.
Parameters
$element: A renderable array representing the contextual links.
$items: An associative array containing the original contextual link items, as generated by menu_contextual_links(), which were used to build $element['#links'].
See also
hook_menu_contextual_links_alter()
Related topics
1 invocation of hook_contextual_links_view_alter()
File
- modules/
contextual/ contextual.api.php, line 32 - Hooks provided by Contextual module.
Code
function hook_contextual_links_view_alter(&$element, $items) {
// Add another class to all contextual link lists to facilitate custom
// styling.
$element['#attributes']['class'][] = 'custom-class';
}
Login or register to post comments
Comments
Example usage
Replace the 'configure block' contextual link of a custom block with a node edit link.
/*** Implements hook_contextual_links_view_alter().
*/
function MODULE_NAME_contextual_links_view_alter(&$element, $items) {
if(isset($element['#element']['#block']->module) && $element['#element']['#block']->module == 'block' && $element['#element']['#block']->delta == 1) {
$links = &$element['#links'];
unset($links['block-configure']);
$links['node-edit'] = array(
'title' => t('Edit node'),
'href' => 'node/1/edit',
);
}
}