hook_link

Хочешь помочь с переводом? Это очень просто и быстро. Лишь зарегистрируйся, и можешь тут же начать переводить.

developer/hooks/core.php, строка 594

Версии
5
hook_link($type, $node = NULL, $teaser = FALSE)
6
hook_link($type, $object, $teaser = FALSE)

Определяет внутренние ссылки Drupal.

Этот хук позволяет модулям добавлять ссылки ко многим частям Друпал. Ссылки могут быть добавлены в нодах или в блоке навигации, например.

Возвращаемый массив должен быть массивом ссылок с ключами. Каждая ссылка может быть в одном из двух форматов.

The first format will use the l() function to render the link:

  • href: Required. The URL of the link.
  • title: Required. The name of the link.
  • attributes: Optional. See l() for usage.
  • html: Optional. See l() for usage.
  • query: Optional. See l() for usage.
  • fragment: Optional. See l() for usage.
The second format can be used for non-links. Leaving out the href index will select this format:
  • title: Required. The text or HTML code to display.
  • attributes: Optional. An associative array of HTML attributes to apply to the span tag.
  • html: Optional. If not set to true, check_plain() will be run on the title before it is displayed.

Параметры

$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)

Возвращаемое значение

Массив запрошенных ссылок.

Связанные темы

▾ 5 функции вызывают hook_link()

comment_render in modules/comment/comment.module
Отображает комментарии.
node_view in modules/node/node.module
Генерирует вывод ноды.
poll_view in modules/poll/poll.module
Реализация hook_view().
theme_comment_flat_expanded in modules/comment/comment.module
Темизирует комментарий в раскрытом виде.
theme_comment_thread_expanded in modules/comment/comment.module

Код

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

  if ($type == 'node' && isset($node->parent)) {
    if (!$teaser) {
      if (book_access('create', $node)) {
        $links['book_add_child'] = array(
          'title' => t('add child page'),
          'href' => "node/add/book/parent/$node->nid",
        );
      }
      if (user_access('see printer-friendly version')) {
        $links['book_printer'] = array(
          'title' => t('printer-friendly version'),
          'href' => 'book/export/html/'. $node->nid,
          'attributes' => array('title' => t('Show a printer-friendly version of this book page and its sub-pages.'))
        );
      }
    }
  }

  $links['sample_link'] = array(
    'title' => t('go somewhere'),
    'href' => 'node/add',
    'query' => 'foo=bar',
    'fragment' => 'anchorname',
    'attributes' => array('title' => t('go to another page')),
  );

  // Example of a link that's not an anchor
  if ($type == 'video') {
    if (variable_get('video_playcounter', 1) && user_access('view play counter')) {
      $links['play_counter'] = array(
        'title' => format_plural($node->play_counter, '1 play', '@count plays'),
      );
    }
  }

  return $links;
}
?>
Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Вход в систему