function taxonomy_page_attachments_alter in Drupal 8
Implements hook_page_attachments_alter().
File
- core/
modules/ taxonomy/ taxonomy.module, line 105 - Enables the organization of content into categories.
Code
function taxonomy_page_attachments_alter(array &$page) {
$route_match = \Drupal::routeMatch();
if ($route_match
->getRouteName() == 'entity.taxonomy_term.canonical' && ($term = $route_match
->getParameter('taxonomy_term')) && $term instanceof TermInterface) {
foreach ($term
->uriRelationships() as $rel) {
// Set the URI relationships, like canonical.
$page['#attached']['html_head_link'][] = [
[
'rel' => $rel,
'href' => $term
->toUrl($rel)
->toString(),
],
TRUE,
];
// Set the term path as the canonical URL to prevent duplicate content.
if ($rel == 'canonical') {
// Set the non-aliased canonical path as a default shortlink.
$page['#attached']['html_head_link'][] = [
[
'rel' => 'shortlink',
'href' => $term
->toUrl($rel, [
'alias' => TRUE,
])
->toString(),
],
TRUE,
];
}
}
}
}