Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 2 |
CRAP | |
0.00% |
0 / 23 |
| NodeViewController | |
0.00% |
0 / 1 |
|
0.00% |
0 / 2 |
20 | |
0.00% |
0 / 23 |
| view | |
0.00% |
0 / 1 |
12 | |
0.00% |
0 / 21 |
|||
| title | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 2 |
|||
| <?php | |
| /** | |
| * @file | |
| * Contains \Drupal\node\Controller\NodeViewController. | |
| */ | |
| namespace Drupal\node\Controller; | |
| use Drupal\Core\Entity\EntityInterface; | |
| use Drupal\Core\Entity\Controller\EntityViewController; | |
| /** | |
| * Defines a controller to render a single node. | |
| */ | |
| class NodeViewController extends EntityViewController { | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function view(EntityInterface $node, $view_mode = 'full', $langcode = NULL) { | |
| $build = parent::view($node, $view_mode, $langcode); | |
| foreach ($node->uriRelationships() as $rel) { | |
| // Set the node path as the canonical URL to prevent duplicate content. | |
| $build['#attached']['html_head_link'][] = array( | |
| array( | |
| 'rel' => $rel, | |
| 'href' => $node->url($rel), | |
| ), | |
| TRUE, | |
| ); | |
| if ($rel == 'canonical') { | |
| // Set the non-aliased canonical path as a default shortlink. | |
| $build['#attached']['html_head_link'][] = array( | |
| array( | |
| 'rel' => 'shortlink', | |
| 'href' => $node->url($rel, array('alias' => TRUE)), | |
| ), | |
| TRUE, | |
| ); | |
| } | |
| } | |
| return $build; | |
| } | |
| /** | |
| * The _title_callback for the page that renders a single node. | |
| * | |
| * @param \Drupal\Core\Entity\EntityInterface $node | |
| * The current node. | |
| * | |
| * @return string | |
| * The page title. | |
| */ | |
| public function title(EntityInterface $node) { | |
| return $this->entityManager->getTranslationFromContext($node)->label(); | |
| } | |
| } |