drupal 8 – ¿Cómo saber agregar / editar la página en hook_form_alter?

Pregunta:

Quiero saber si el formulario es agregar / editar en hook_form_alter. En Drupal 7 podemos obtener todos estos en hook_form_alter.

Intenté así en D7:

function MYMODULE_form_alter(&$form, &$form_state, $form_id) {
  // Check pages(s) , don't use $_GET.
    if (strpos($form['#action'], '/add/') !== FALSE) {
      $page = 'add';
    }
    if (strpos($form['#action'], '/edit') !== FALSE) {
      $page = 'edit';
    }
}

Aquí estoy agregando / editando en D7. Mientras que en D8 no lo obtengo en $ form ['# actions']. Y no quiero usar $ _GET. ¿Hay alguna forma de verificar la página de agregar / editar en hook_form_alter?

Respuesta:

En D8 puede obtener la operación de un formulario de entidad con el objeto de formulario:

function MYMODULE_form_alter(&$form, &$form_state, $form_id) {
  if ($form_state->getFormObject()->getOperation() == 'edit') {
    $page = 'edit';
  }
}

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım