2010-11-23 17 views
0

Ich habe ein Webformular für den Client erstellt, wo die Client-Informationen gespeichert werden und der Client einloggen und das Formular anzeigen kann, aber wenn der Client das Formular anzeigt, zeigt er die Übermittlungstabelle an und der Client muss klicken In Sicht, um die Ergebnisse anzuzeigen, wollte ich eine Funktion implementieren, so dass es möglich wird, die Clients direkt an die tatsächlichen Ergebnisse umzuleiten, anstatt an die Übermittlungstabelle, während für Admin die Übermittlungstabelle da sein sollte ... ich denke, ich muss Implementiere hook_menu_alter() in einem benutzerdefinierten Modul ... Ich frage mich, ob mir jemand mit dem Code für hook_menu_alter() helfen könnte ... die URL für die Einreichungstabelle ist "node/$ nid/submissions" und für die Ergebnisse ist "node/$ nid/submission/$ sid ". DankeDrupal - hook_menu_alter für webform

Antwort

0

Sie müssen hook_menu_alter nicht umleiten nach dem Senden des Formulars. Sie können einfach ein #redirect auf Ihre $form bei hook_form_submit()

hinzufügen Es ist etwas so sein sollte:

die gleiche Form sehen
function hook_form($form_state){ 
    // $form[] definition here 
    $form[] = array(
     '#type' => 'submit', 
     '#value' => 'Submit Me!', 
     '#submit' => array('hook_form_submit'), 
    ); 
} 

function hook_form_submit($form,&$form_state){ 
    // sanitize/save your data here! 
    $form_state['redirect'] = 'redirect/me/to/somewhere/else'; 
} 
+0

Danke andre, aber eigentlich wird das Formular übermittelt werden von admin für Benutzer und dann können die Benutzer anmelden und das Formular anzeigen ... aber es dauert sie zu Einreichung Ergebnisse zuerst und dann zu den eigentlichen Einreichung Daten .. ich benötigt, um die Einreichung Ergebnisse für die Benutzer zu entfernen ... so, wenn Benutzer anmelden ..sie können die eingereichten Daten sofort ansehen ... – sumit

+0

Ich bin mir nicht sicher, ob ich bekomme, was Sie wollen ... Was meinen Sie mit "Benutzer können das Formular anzeigen"? Sollen Benutzer und Admin genau dasselbe Formular sehen? Was sind die "Einreichungsergebnisse"? Ich denke, ich muss sehen, einige Ausgabe Beispiel für beide Fälle (Benutzer und Admin), um Ihre Idee zu bekommen ... – acm

0

yes..both der Benutzer und der Administrator ... n Admin wird Füllen Sie das Formular im Auftrag des Benutzers aus und legen Sie den Autor als Benutzer fest, damit der Benutzer die gefüllten Informationen sehen kann, da wir die Benutzerberechtigung als "Zugriff auf eigene Ergebnisse" festlegen. Nun, das Problem ist, wenn der Benutzer die Webformular-Ergebnisse sieht, bekommt er zuerst eine 'Tabelle', die das 'Datum' und 'Operationen' anzeigt und in Betrieb, wenn der Benutzer auf 'Ansicht' klickt, dann wird die gefüllte Information angezeigt. also, ich frage mich nur, ob wir hook_menu_alter verwenden können, um das zu ändern und anstatt dieser 'tabelle' zeigt es direkt die gefüllten informationen an den benutzer ... danke andre ..

+0

Entschuldigung dafür, nicht zu Ihnen früher zu antworten, aber ich bin nicht über neue Antworten benachrichtigt (was war das, was Sie getan haben: - /). Du hättest als Kommentar in meiner Antwort antworten sollen. Wie auch immer, hast du dein Problem in den letzten Tagen gelöst? wenn ich nicht darauf antworte, werde ich es noch einmal versuchen. – acm

+0

danke andre, ja ich habe das Problem gelöst. Danke noch einmal :) – sumit