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.
- 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)
Возвращаемое значение
Массив запрошенных ссылок.
Связанные темы
Код
<?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;
}
?>
Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии