public function CommentManager::addBodyField in Drupal 10        
                          
                  
                        Same name and namespace in other branches
- 8 core/modules/comment/src/CommentManager.php \Drupal\comment\CommentManager::addBodyField()
- 9 core/modules/comment/src/CommentManager.php \Drupal\comment\CommentManager::addBodyField()
File
 
   - core/modules/comment/src/CommentManager.php, line 121
Class
  
  - CommentManager 
- Comment manager contains common functions to manage comment fields.
Namespace
  Drupal\comment
Code
public function addBodyField($comment_type_id) {
  if (!FieldConfig::loadByName('comment', $comment_type_id, 'comment_body')) {
    
    $field = $this->entityTypeManager
      ->getStorage('field_config')
      ->create([
      'label' => 'Comment',
      'bundle' => $comment_type_id,
      'required' => TRUE,
      'field_storage' => FieldStorageConfig::loadByName('comment', 'comment_body'),
    ]);
    $field
      ->save();
    
    $this->entityDisplayRepository
      ->getFormDisplay('comment', $comment_type_id)
      ->setComponent('comment_body', [
      'type' => 'text_textarea',
    ])
      ->save();
    
    $this->entityDisplayRepository
      ->getViewDisplay('comment', $comment_type_id)
      ->setComponent('comment_body', [
      'label' => 'hidden',
      'type' => 'text_default',
      'weight' => 0,
    ])
      ->save();
  }
}