public CommentTypeDeleteForm::buildForm(array $form, FormStateInterface $form_state)
Form constructor.
Parameters
array $form: An associative array containing the structure of the form.
\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.
Return value
array The form structure.
Overrides EntityDeleteForm::buildForm
File
- core/modules/comment/src/Form/CommentTypeDeleteForm.php, line 88
Class
- CommentTypeDeleteForm
- Provides a confirmation form for deleting a comment type entity.
Namespace
Drupal\comment\Form
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | public function buildForm( array $form , FormStateInterface $form_state ) { $comments = $this ->queryFactory->get( 'comment' )->condition( 'comment_type' , $this ->entity->id())->execute(); $entity_type = $this ->entity->getTargetEntityTypeId(); $caption = '' ; foreach ( array_keys ( $this ->commentManager->getFields( $entity_type )) as $field_name ) { /** @var \Drupal\field\FieldStorageConfigInterface $field_storage */ if (( $field_storage = FieldStorageConfig::loadByName( $entity_type , $field_name )) && $field_storage ->getSetting( 'comment_type' ) == $this ->entity->id() && ! $field_storage ->isDeleted()) { $caption .= '<p>' . $this ->t( '%label is used by the %field field on your site. You can not remove this comment type until you have removed the field.' , array ( '%label' => $this ->entity->label(), '%field' => $field_storage ->label(), )) . '</p>' ; } } if (! empty ( $comments )) { $caption .= '<p>' . $this ->formatPlural( count ( $comments ), '%label is used by 1 comment on your site. You can not remove this comment type until you have removed all of the %label comments.' , '%label is used by @count comments on your site. You may not remove %label until you have removed all of the %label comments.' , array ( '%label' => $this ->entity->label())) . '</p>' ; } if ( $caption ) { $form [ 'description' ] = array ( '#markup' => $caption ); return $form ; } else { return parent::buildForm( $form , $form_state ); } } |
Please login to continue.