Un controlador de envío de formularios solo puede imprimir un mensaje usando drupal_set_message()
o escribiendo un mensaje en el registro con watchdog()
.
La alternativa es guardar los datos necesarios en la sesión y redirigir al usuario (usando $form_state['redirect'] = 'page path';
) a una página donde se muestra el contenido de la sesión.
function firstmodule_menu() {
$items['the path for your page'] = array(
'page callback' => 'firstmodule_show_submitted_data';
// ...
);
return $items;
}
function firstmodule_form1_submit($form, &$form_state) {
$_SESSION['firstmodule_username'] = $username;
// ...
$form_state['redirect'] = 'the path for your page';
}
function firstmodule_show_submitted_data() {
// Populate $result with the string to show.
return $result;
}
Como nota al margen, el primer argumento de t()
debe ser una cadena literal, no una cadena obtenida concatenando dos cadenas, como en su caso. Debe usar marcadores de posición, como en el siguiente código.
drupal_set_message(t("The user is %username", array('%username' => $username)));
En Drupal 7, en lugar de devolver una cadena, puede devolver una matriz de representación .
Lo que debe hacer es tener una devolución de llamada del menú, básicamente esa sería una página que configure y muestre la información.
Más información está disponible aquí: http://api.drupal.org/api/drupal/includes!menu.inc/group/menu/7 y necesita leer más sobre hook_menu ()
Espero que ayude, dime si necesitas un ejemplo.
fuente