Mercurial > hg > isophonics-drupal-site
view core/modules/comment/src/Plugin/Field/FieldFormatter/AuthorNameFormatter.php @ 19:fa3358dc1485 tip
Add ndrum files
author | Chris Cannam |
---|---|
date | Wed, 28 Aug 2019 13:14:47 +0100 |
parents | 4c8ae668cc8c |
children |
line wrap: on
line source
<?php namespace Drupal\comment\Plugin\Field\FieldFormatter; use Drupal\Core\Field\FieldDefinitionInterface; use Drupal\Core\Field\FieldItemListInterface; use Drupal\Core\Field\FormatterBase; /** * Plugin implementation of the 'comment_username' formatter. * * @FieldFormatter( * id = "comment_username", * label = @Translation("Author name"), * description = @Translation("Display the author name."), * field_types = { * "string" * } * ) */ class AuthorNameFormatter extends FormatterBase { /** * {@inheritdoc} */ public function viewElements(FieldItemListInterface $items, $langcode) { $elements = []; foreach ($items as $delta => $item) { /** @var $comment \Drupal\comment\CommentInterface */ $comment = $item->getEntity(); $account = $comment->getOwner(); $elements[$delta] = [ '#theme' => 'username', '#account' => $account, '#cache' => [ 'tags' => $account->getCacheTags() + $comment->getCacheTags(), ], ]; } return $elements; } /** * {@inheritdoc} */ public static function isApplicable(FieldDefinitionInterface $field_definition) { return $field_definition->getName() === 'name' && $field_definition->getTargetEntityTypeId() === 'comment'; } }