Un gestionnaire de soumission de formulaire ne peut imprimer un message qu'en utilisant drupal_set_message()
ou en écrivant un message dans le journal avec watchdog()
.
L'alternative consiste à enregistrer les données nécessaires dans la session et à rediriger l'utilisateur (en utilisant $form_state['redirect'] = 'page path';
) vers une page où le contenu de la session est affiché.
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;
}
En remarque, le premier argument de t()
doit être une chaîne littérale, pas une chaîne obtenue concaténant deux chaînes, comme dans votre cas. Vous devez utiliser des espaces réservés, comme dans le code suivant.
drupal_set_message(t("The user is %username", array('%username' => $username)));
Dans Drupal 7, au lieu de renvoyer une chaîne, vous pouvez renvoyer un tableau de rendu .
Ce que vous devez faire est d'avoir un rappel de menu, ce serait essentiellement une page que vous configurez et affichez les informations.
Plus d'informations sont disponibles ici: http://api.drupal.org/api/drupal/includes!menu.inc/group/menu/7 et vous devez en savoir plus sur hook_menu ()
J'espère que cela vous aide, dites-moi si vous avez besoin d'un exemple.
la source