public function CommentManager::addBodyField in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/modules/comment/src/CommentManager.php \Drupal\comment\CommentManager::addBodyField()
 
Creates a comment_body field.
Parameters
string $comment_type: The comment bundle.
Overrides CommentManagerInterface::addBodyField
File
- core/
modules/ comment/ src/ CommentManager.php, line 118  - Contains \Drupal\comment\CommentManager.
 
Class
- CommentManager
 - Comment manager contains common functions to manage comment fields.
 
Namespace
Drupal\commentCode
public function addBodyField($comment_type_id) {
  if (!FieldConfig::loadByName('comment', $comment_type_id, 'comment_body')) {
    // Attaches the body field by default.
    $field = $this->entityManager
      ->getStorage('field_config')
      ->create(array(
      'label' => 'Comment',
      'bundle' => $comment_type_id,
      'required' => TRUE,
      'field_storage' => FieldStorageConfig::loadByName('comment', 'comment_body'),
    ));
    $field
      ->save();
    // Assign widget settings for the 'default' form mode.
    entity_get_form_display('comment', $comment_type_id, 'default')
      ->setComponent('comment_body', array(
      'type' => 'text_textarea',
    ))
      ->save();
    // Assign display settings for the 'default' view mode.
    entity_get_display('comment', $comment_type_id, 'default')
      ->setComponent('comment_body', array(
      'label' => 'hidden',
      'type' => 'text_default',
      'weight' => 0,
    ))
      ->save();
  }
}