protected function CommentViewBuilder::getBuildDefaults in Drupal 10
Same name and namespace in other branches
- 8 core/modules/comment/src/CommentViewBuilder.php \Drupal\comment\CommentViewBuilder::getBuildDefaults()
- 9 core/modules/comment/src/CommentViewBuilder.php \Drupal\comment\CommentViewBuilder::getBuildDefaults()
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 78
Class
- CommentViewBuilder
- View builder handler for comments.
Namespace
Drupal\commentCode
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().
$commented_entity = $entity
->getCommentedEntity();
$build['#comment_threaded'] = is_null($commented_entity) || $commented_entity
->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;
}