CommentViewBuilder::getBuildDefaults

protected CommentViewBuilder::getBuildDefaults(EntityInterface $entity, $view_mode)

Provides entity-specific defaults to the build process.

Parameters

\Drupal\Core\Entity\EntityInterface $entity: The entity for which the defaults should be provided.

string $view_mode: The view mode that should be used.

Return value

array

Overrides EntityViewBuilder::getBuildDefaults

File

core/modules/comment/src/CommentViewBuilder.php, line 58

Class

CommentViewBuilder
View builder handler for comments.

Namespace

Drupal\comment

Code

protected function getBuildDefaults(EntityInterface $entity, $view_mode) {
  $build = parent::getBuildDefaults($entity, $view_mode);

  /** @var \Drupal\comment\CommentInterface $entity */
  // Store a threading field setting to use later in self::buildComponents().
  $build['#comment_threaded'] = $entity->getCommentedEntity()
    ->getFieldDefinition($entity->getFieldName())
    ->getSetting('default_mode') === CommentManagerInterface::COMMENT_MODE_THREADED;
  // If threading is enabled, don't render cache individual comments, but do
  // keep the cacheability metadata, so it can bubble up.
  if ($build['#comment_threaded']) {
    unset($build['#cache']['keys']);
  }

  return $build;
}
doc_Drupal
2016-10-29 08:51:24
Comments
Leave a Comment

Please login to continue.