You are here

public function ReferenceEntityFormBuilder::getForm in Bibliography & Citation 8

Same name and namespace in other branches
  1. 2.0.x modules/bibcite_entity/src/ReferenceEntityFormBuilder.php \Drupal\bibcite_entity\ReferenceEntityFormBuilder::getForm()

Gets the built and processed entity form for the given entity.

The form may also be retrieved from the cache if the form was built in a previous page load. The form is then passed on for processing, validation, and submission if there is proper input.

$form_state_additions['langcode'] = $langcode;
$form = \Drupal::service('entity.form_builder')
  ->getForm($entity, 'default', $form_state_additions);

Parameters

\Drupal\Core\Entity\EntityInterface $entity: The entity to be created or edited.

string $operation: (optional) The operation identifying the form variation to be returned. Defaults to 'default'. This is typically used in routing:

_entity_form:
node . book_outline;

where "book_outline" is the value of $operation. The class name for the form for each operation (edit, delete, etc.) can be found in the form section of the handlers entity annotation. For example:


  handlers = {
    "form" = {
      "delete" = "Drupal\node\Form\NodeDeleteForm",
  

Alternatively, the form class can be set from hook_entity_type_build().

array $form_state_additions: (optional) An associative array used to build the current state of the form. Use this to pass additional information to the form, such as the langcode. Defaults to an empty array.

Return value

array The processed form for the given entity and operation.

Overrides EntityFormBuilder::getForm

See also

\Drupal\Core\Form\FormBuilderInterface::getForm()

\Drupal\Core\Entity\EntityTypeInterface::getFormClass()

\Drupal\Core\Entity\EntityTypeInterface::setFormClass()

system_entity_type_build()

File

modules/bibcite_entity/src/ReferenceEntityFormBuilder.php, line 24

Class

ReferenceEntityFormBuilder
Builds reference forms.

Namespace

Drupal\bibcite_entity

Code

public function getForm(EntityInterface $entity, $operation = 'default', array $form_state_additions = []) {
  if ($data = $this->formBuilder
    ->restoreFromCache()) {
    $entity = $data;
  }
  return parent::getForm($entity, $operation, $form_state_additions);
}