You are here

function comment_entity_view in Drupal 10

Same name and namespace in other branches
  1. 8 core/modules/comment/comment.module \comment_entity_view()
  2. 9 core/modules/comment/comment.module \comment_entity_view()

Implements hook_entity_view().

File

core/modules/comment/comment.module, line 201
Enables users to comment on published content.

Code

function comment_entity_view(array &$build, EntityInterface $entity, EntityViewDisplayInterface $display, $view_mode) {
  if ($entity instanceof FieldableEntityInterface && $view_mode == 'rss' && $display
    ->getComponent('links')) {

    /** @var \Drupal\comment\CommentManagerInterface $comment_manager */
    $comment_manager = \Drupal::service('comment.manager');
    $fields = $comment_manager
      ->getFields($entity
      ->getEntityTypeId());
    foreach ($fields as $field_name => $detail) {
      if ($entity
        ->hasField($field_name) && $entity
        ->get($field_name)->status != CommentItemInterface::HIDDEN) {

        // Add a comments RSS element which is a URL to the comments of this
        // entity.
        $options = [
          'fragment' => 'comments',
          'absolute' => TRUE,
        ];
        $entity->rss_elements[] = [
          'key' => 'comments',
          'value' => $entity
            ->toUrl('canonical', $options)
            ->toString(),
        ];
      }
    }
  }
}