function NodeViewBuilder::buildLinks
Same name in other branches
- 9 core/modules/node/src/NodeViewBuilder.php \Drupal\node\NodeViewBuilder::buildLinks()
- 8.9.x core/modules/node/src/NodeViewBuilder.php \Drupal\node\NodeViewBuilder::buildLinks()
- 10 core/modules/node/src/NodeViewBuilder.php \Drupal\node\NodeViewBuilder::buildLinks()
Build the default links (Read more) for a node.
Parameters
\Drupal\node\NodeInterface $entity: The node object.
string $view_mode: A view mode identifier.
Return value
array An array that can be processed by Link::preRenderLinks().
See also
\Drupal\Core\Render\Element\Link::preRenderLinks()
1 call to NodeViewBuilder::buildLinks()
- NodeViewBuilder::renderLinks in core/
modules/ node/ src/ NodeViewBuilder.php - #lazy_builder callback; builds a node's links.
File
-
core/
modules/ node/ src/ NodeViewBuilder.php, line 126
Class
- NodeViewBuilder
- View builder handler for nodes.
Namespace
Drupal\nodeCode
protected static function buildLinks(NodeInterface $entity, $view_mode) {
$links = [];
// Always display a read more link on teasers because we have no way
// to know when a teaser view is different than a full view.
if ($view_mode == 'teaser') {
$node_title_stripped = strip_tags($entity->label());
$links['node-readmore'] = [
'title' => t('Read more<span class="visually-hidden"> about @title</span>', [
'@title' => $node_title_stripped,
]),
'url' => $entity->toUrl(),
'language' => $entity->language(),
'attributes' => [
'rel' => 'tag',
'title' => $node_title_stripped,
],
];
}
return [
'#theme' => 'links__node__node',
'#links' => $links,
'#attributes' => [
'class' => [
'links',
'inline',
],
],
];
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.