Creación de una página de confirmación en Drupal 7

Author Top
andreyjose

A continuación se realizará la creación de una página de confirmación en drupal 7 vía código, ayudado con una función misma de drupal que nos facilitará la construcción de la página.

1. Declaración de la página.

Para la creación de la página debemos hacer uso del hook hook_menu() dentro de un módulo personalizado creado de la siguiente forma:

/**
 * Implemento del hook_menu().
 */
function MIMODULO_menu() {
 $items['confirmation-page'] = array(
    'title' => 'Confirmation Page',
    'page callback' => 'drupal_get_form',
    'page arguments' => array('MIMODULO_confirm_page'),
    'access arguments' => array('access content'),
    'type' => MENU_CALLBACK,
  );
  return $items;
} 

Como se observa en el código anterior, se está definiendo la función MIMODULO_confirm_page donde se estará implementando la página de confirmación.  

2. Definición de la página de confirmación.

Para definir el contenido de la página se trabajará en la función  MIMODULO_confirm_page de la siguiente forma:

/**
 * Creación de la página de confirmación.
 */
function MIMODULO_confirm_page() {
  global $base_url;
  
  $form = array();
  $form['instrucciones'] = array(
    '#type' => 'markup',
    '#markup' => '<div class="contenedor-instrucciones">' . 'Descripción de la página.....' . '</div>',
  );
  
  // Función de drupal para la construcción de la página de confirmación.  
  $form_confirm = confirm_form($form, 'Está seguro que desea continuar?', $base_url,$description ='', t('SI'), t('NO'));
  return $form_confirm;
}

Podemos observar en el código anterior que  utilizamos la función confirm_form($form, $question, $path, $decription = NULL, $yes = NULL, $no = NULL, $name = ´confirm´), donde el parámetro $form podemos agregar todos los elementos que se quieran del Form API de Drupal, en este caso se agregó un markup solamente. El parámetro $question es donde se declara la pregunta quese le quiere hacer al usuario. En $path se define una ruta para que se redirecciona en caso de que el usuario cancele y no desea continuar y los parámetros  $yes y $no es el texto que se quiere en los botones. 

3. Definición de la función si se confirma el formulario.

A continuación se muestra la función personalizada que realiza el proceso deseado si se acepta el formulario de confirmación.

function MIMODULO_confirm_page_submit($form, &$form_state) {
  // Aquí se realiza el proceso deseado si se confirma el fomulario. 
  global $base_url; 
  drupal_goto($base_url);
}

En este caso se observa que la función anterior sólo hace un redireccionamiento a la página de inicio. Además el nombre de la función es la misma sólo que al final se le agrega _submit.

A continuación se muestra la página de confirmación contruída anteriormente:

Espero que les haya sido de ayuda y muchas gracias.

bursa esc
bursa eskort
bursa escort bayan bursa travesti escort bursa merkez escort bursaescort bursa escort bayanlar alanya eskort bayan antalya bayan eskort havalimanı transfer