Community Documentation

hook_link

5 core.php hook_link($type, $node = NULL, $teaser = FALSE)
6 core.php hook_link($type, $object, $teaser = FALSE)

Define internal Drupal links.

This hook enables modules to add links to many parts of Drupal. Links may be added in nodes or in the navigation block, for example.

Parameters

$type: An identifier declaring what kind of link is being requested. Possible values:

  • node: Links to be placed below a node being viewed.
  • comment: Links to be placed below a comment being viewed.

$node: A node object passed in case of node links.

$teaser: In case of node link: a 0/1 flag depending on whether the node is displayed with its teaser or its full form (on a node/nid page)

Return value

An array of the requested links.

For a detailed usage example, see node_example.module.

Related topics

▾ 13 functions implement hook_link()

blog_link in modules/blog.module
Implementation of hook_link().
book_link in modules/book.module
Implementation of hook_link().
comment_link in modules/comment.module
Implementation of hook_link().
drupal_add_link in includes/common.inc
Add a <link> tag to the page's HEAD.
menu_item_link in includes/menu.inc
Returns the rendered link to a menu item.
node_link in modules/node.module
Implementation of hook_link().
statistics_link in modules/statistics.module
Implementation of hook_link().
taxonomy_link in modules/taxonomy.module
Implementation of hook_link().
theme_menu_item_link in includes/menu.inc
Generate the HTML representing a given menu item ID.
theme_more_help_link in includes/theme.inc
Returns code that emits the 'more help'-link.
theme_pager_link in includes/pager.inc
Format a link to a specific query result page.
upload_link in modules/upload.module
Implementation of hook_link().
_statistics_link in modules/statistics.module
It is possible to adjust the width of columns generated by the statistics module.

File

developer/hooks/core.php, line 542
These are the hooks that are invoked by the Drupal core.

Code

<?php
function hook_link($type, $node = NULL, $teaser = FALSE) {
  $links = array();

  if ($type == 'node' && $node->type == 'book') {
    if (book_access('update', $node)) {
      $links[] = l(t('edit this page'), "node/$node->nid/edit", 
        array('title' => t('Suggest an update for this book page.')));
    }
    if (!$teaser) {
      $links[] = l(t('printer-friendly version'), "book/print/$node->nid", 
        array('title' => t('Show a printer-friendly version of this book page
        and its sub-pages.')));
    }
  }

  return $links;
}
?>
Login or register to post comments