Drupal: cómo mostrar un mensaje de éxito en el envío del formulario

February 01, 2023

Tags: Tecnologías, Staff Augmentation

drupal

 

En cuanto a poderosos CMS, Drupal es uno de los más buscados en el mercado. Drupal es un software de gestión de contenido. Se utiliza para crear muchos de los sitios web y aplicaciones que usa todos los días. Drupal tiene excelentes características estándar, como creación de contenido sencilla, rendimiento confiable y excelente seguridad.

 

Comenzó como un proyecto de código abierto en 2001 y ganó popularidad por ser el sistema de administración de contenido más eficiente utilizado para codificar y desarrollar sitios web. Aproximadamente el 2,3% de los sitios web en línea se crean con Drupal.

 

 

drupal

 

Características más importantes de Drupal

 

Una de las características que hacen de Drupal favorito entre los expertos y usuarios de CMS es su flexibilidad, además de la modularidad que ofrece a la hora de construir páginas web escalables. Tiene además varias herramientas que ayudan a crear un contenido estructurado para ofrecer al visitante experiencias web dinámicas y completas.

 

Otras características importantes son: 

 

  • Los módulos amplían la funcionalidad de Drupal.
  • Los temas le permiten personalizar la presentación de su contenido.
  • Mezcle y combine los componentes para mejorar las habilidades centrales de Drupal.
  • Integre Drupal con servicios externos y otras aplicaciones en su infraestructura.
  • Ningún otro software de gestión de contenido es tan potente y escalable.
  • Empresas como BBC, NBC, MTV UK ya usan Drupal.

 

 

drupal

 

Mostrar mensaje de éxito en el envío de formulario de Drupal

 

Una de las funciones que ofrece Drupal a sus usuarios son los formularios. Como lo explican en su documentación oficial “El módulo de formulario web le permite crear cualquier tipo de formulario para recopilar cualquier tipo de datos, que se pueden enviar a cualquier aplicación o sistema. Cada comportamiento y aspecto de sus formularios y sus entradas son personalizables”.

 

Una de las características que tienen los formularios de Drupal es que pueden ejecutar un mensaje de éxito una vez que un visitante de la página ingrese sus datos, así tanto el visitante como la persona que configura la página esté al tanto de que todo el proceso se ejecutó de manera correcta.

 

Para lograrlo, se debe utilizar esta secuencia de código:

 

<?php

namespace Drupal\my_module\Form;

use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Form\FormBase;
use Drupal\Core\Ajax\AjaxResponse;
use Drupal\Core\Ajax\HtmlCommand;

/**
 * Ajax form example.
 */
class AjaxFormSubmitExample extends FormBase {

  /**
   * {@inheritdoc}
   */
  public function getFormId() {
    return 'ajax_form_submit_example';
  }

  /**
   * {@inheritdoc}
   */
  public function buildForm(array $form, FormStateInterface $form_state) {

    $form['message'] = [
      '#type' => 'markup',
      '#markup' => '<div id="result-message"></div>'
    ];

    $form['data'] = [
      '#type' => 'textfield',
      '#title' => $this->t('Some data'),
    ];

    $form['submit'] = [
      '#type' => 'submit',
      '#name' => 'submit',
      '#value' => $this->t('Submit'),
      '#ajax' => [
        'callback' => '::submitForm',
        'event' => 'click',
        'progress' => [
          'type' => 'throbber',
        ],
      ],
    ];
    return $form;
  }

  /**
   * {@inheritdoc}
   */
  public function submitForm(array &$form, FormStateInterface $form_state) {

    \Drupal::messenger()->addMessage($this->t('Form Submitted Successfully'), 'status', TRUE);

    $message = [
      '#theme' => 'status_messages',
      '#message_list' => drupal_get_messages(),
    ];

    $messages = \Drupal::service('renderer')->render($message);

    $response = new AjaxResponse();
    $response->addCommand(new HtmlCommand('#result-message', $messages));
    return $response;
  }
}

 

De esta manera se logra el mensaje de éxito de envío de datos en el formulario de Drupal. Puedes ya recolectar todos los datos que necesitas de tus visitantes, por ejemplo, para crear bases de datos de contacto o una lista de participantes en algún evento.

 

Te recomendamos en video