Moduł obsługi przesyłania formularzy może wydrukować wiadomość tylko za pomocą drupal_set_message()
lub zapisując wiadomość w dzienniku za pomocą watchdog()
.
Alternatywą jest zapisanie niezbędnych danych w sesji i przekierowanie użytkownika (za pomocą $form_state['redirect'] = 'page path';
) na stronę, na której wyświetlana jest zawartość sesji.
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;
}
Na marginesie, pierwszy argument t()
musi być ciągiem literalnym, a nie ciągiem łączącym dwa ciągi, jak w twoim przypadku. Powinieneś użyć symboli zastępczych, jak w poniższym kodzie.
drupal_set_message(t("The user is %username", array('%username' => $username)));
W Drupal 7 zamiast zwracać ciąg, możesz zwrócić tablicę renderującą .
Musisz mieć wywołanie zwrotne menu, w zasadzie byłaby to strona, którą skonfigurowałeś i wyświetlałeś informacje.
Więcej informacji jest dostępnych tutaj: http://api.drupal.org/api/drupal/include!menu.inc/group/menu/7 i musisz przeczytać więcej o hook_menu ()
Mam nadzieję, że to pomoże, powiedz mi, czy potrzebujesz przykładu.
źródło