手动加载comment form

    $values = [
        'entity_type' => 'node',
        'entity_id' => '1',
        'field_name' => 'comment',
        'comment_type' => 'comment',
    ];
    $comment = Drupal::entityTypeManager()->getStorage('comment')->create($values);
    $form =  Drupal::getContainer()->get('entity.form_builder')->getForm($comment);

$plain =     Drupal::service('renderer')->renderPlain($form);
kint($plain);

---

from ajaxcomment 模块

--
    if($entity->getEntityType()->id() == 'node' && $display->getMode() == 'default'){
      $values = [
          'entity_type' => 'node',
          'entity_id' => $entity->id(),
          'field_name' => 'comment',
          'comment_type' => 'comment',
      ];
      $comment = Drupal::entityTypeManager()->getStorage('comment')->create($values);
      $form =  Drupal::getContainer()->get('entity.form_builder')->getForm($comment);
      $build[] = [
        '#markup'=> Drupal::service('renderer')->renderPlain($form),
      ];
    }

---------------

$build['comment_form'] = [
        '#markup'=> Drupal::service('renderer')->renderPlain($form),
        '#weight'=> 99,
      ];

-----

http://jordanpagewhite.github.io/remove-textarea-formats-help/

-----------
function test_example_form_comment_form_alter(&$form, DrupalCoreFormFormStateInterface $form_state){
  $form['comment_body']['widget']['#after_build'][] = 'test_example_remove_comment_format';
}

function test_example_remove_comment_format($form_element, DrupalCoreFormFormStateInterface $form_state){
  if(isset($form_element[0]['format'])){
    unset($form_element[0]['format']['guidelines']);
    unset($form_element[0]['format']['help']);
    unset($form_element[0]['format']['#type']);
    unset($form_element[0]['format']['#theme_wrapper']);
    $form_element[0]['format']['format']['#access'] = FALSE;

  }

  return $form_element;
}

原文地址:https://www.cnblogs.com/qinqiu/p/9318386.html