Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. CommentManager.php

function 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')) {
        // Attaches the body field by default.
        $field = $this->entityTypeManager
            ->getStorage('field_config')
            ->create([
            '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.
        $this->entityDisplayRepository
            ->getFormDisplay('comment', $comment_type_id)
            ->setComponent('comment_body', [
            'type' => 'text_textarea',
        ])
            ->save();
        // Assign display settings for the default view mode.
        $this->entityDisplayRepository
            ->getViewDisplay('comment', $comment_type_id)
            ->setComponent('comment_body', [
            'label' => 'hidden',
            'type' => 'text_default',
            'weight' => 0,
        ])
            ->save();
    }
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal