rpayanm
7/2/2019 - 7:20 PM

Multiple same form in one page

<?php

class ExmapleForm extends FormBase {
  // ...
  /**
   * Mantenemos cuantas veces el form es puesto en la página.
   *
   * @var int
   */
  protected static $instanceId;
  
  /**
   * {@inheritdoc}
   */
  public function getFormId() {
    if (empty(self::$instanceId)) {
      self::$instanceId = 1;
    }
    else {
      self::$instanceId++;
    }

    return 'MODULENAME_EXAMPLE_' . self::$instanceId;
  }
  
  /**
   * Ajax callback.
   */
  public function ajaxSubmitForm(array $form, FormStateInterface $form_state) {
    $response = new AjaxResponse();
    $instance_id = self::$instanceId;
    // ...
  }
  // ...
}