You are here

public function AuditLogTargetViewLink::render in Audit Log 8.2

Renders the field.

Parameters

\Drupal\views\ResultRow $values: The values retrieved from a single row of a view's query result.

Return value

string|\Drupal\Component\Render\MarkupInterface The rendered output. If the output is safe it will be wrapped in an object that implements MarkupInterface. If it is empty or unsafe it will be a string.

Overrides FieldPluginBase::render

File

src/Plugin/views/field/AuditLogTargetViewLink.php, line 18

Class

AuditLogTargetViewLink
Provides a target entity view link.

Namespace

Drupal\audit_log\Plugin\views\field

Code

public function render(ResultRow $row) {
  $entity = $this
    ->getEntity($row);
  $target_entity = \Drupal::entityTypeManager()
    ->getStorage($entity->entity_type->value)
    ->load($entity->entity_id->target_id);
  $build = [
    '#cache' => [
      'tags' => [
        $entity->entity_type->value . ':' . $entity->entity_id->target_id,
      ],
    ],
  ];
  if (isset($target_entity)) {
    return $build + $target_entity
      ->toLink($entity
      ->label())
      ->toRenderable();
  }
  else {
    return $build + [
      '#markup' => $entity
        ->label(),
    ];
  }
}