Pasar al contenido principal

Como imprimir mensajes en Drupal 9

Descripción

$this->messenger() te permitirá imprimir en pantalla tus mensajes al ejecutar algo de código en tus desarrollos con Drupal 8 o 9

/* Con este ejemplo, al ejecutar el método submitForm en tu formulario personalizado, podrás pasar como parámetro los campos de tu formulario formando parte del mensaje. */

 

/**
 * {@inheritdoc}
*/

public function submitForm(array &$form, FormStateInterface $form_state) {
  $this->messenger()->addStatus($this->t('Su número es @number', ['@number' => $form_state->getValue('numero_telefono')]));}

}

Instrucciones

     Para imprimir un mensaje en Drupal 9, en lugar de utilizar el antiguo drupal_set_message(), ahora se utilizar el servicio $messenger y la estructura a emplear es la que tienes en el cuadro del código para que elijas la que necesites.

     También puedes especificar el tipo de mensaje que deseas imprimir, en función del tipo, por defecto, el mensaje cambiará de color. Ej.: Status se imprimirá en verde, Error en rojo, Alert en naranja

Código

        // Si lo quieres utilzar dentro de un código personalizado.

        \Drupal::messenger()->addMessage('Say something else');

       // Si lo que quieres es imprimir el valor de una variable.

       \Drupal::messenger()->addMessage(print_r($stuff, TRUE));

       // Si lo quieres imprimir al ejecutar el método submitForm() en un formulario:

      $this->messenger()->addMessage($this->t('Hello world.'));

 

   // Añade el tipo específico del mensaje.

   $this->messenger()->addMessage('Hola mundo', 'custom'); //Imprime el mensaje con color personalizado

   $this->messenger()->addError('Hola mundo'); //Imprime el mensaje en color Rojo

   $this->messenger()->addStatus('Hola mundo'); //Imprime el mensaje en color Verde

   $this->messenger()->addWarning('Hola mundo'); //Imprime el mensaje en color Naranja

Copiar