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.
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:
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.