Inhalts Formular (im Frontend) nach dem Speichern leer zurückgeben
am 17.10.2011 - 12:11 Uhr in
Hallo,
ich gebe auf einer Übersichtsseite mit Views eine Reihe an Nodes des Inhaltstyps "Meinung" aus. Über dieser Übersicht, gibt es ein Formular zum Eintragen einer neuen Meinung (Node). Das habe ich mit dem Modul "Form Block" (http://drupal.org/project/formblock) erledigt.
Nach dem Eintragen einer Meinung und dem Speichern, soll der Nutzer wieder auf die Übersichtsseite gelangen und dort auch direkt seinen Eintrag in der Übersicht sehen können. Dafür verwende ich folgenden Code:
<?php
function my_module_form_node_form_alter(&$form, &$form_state, $form_id) {
if ($form['#node']->type == 'meinung') {
$form['#submit'][] = 'my_module_meinung_form_redirect_success';
}
}
function my_module_meinung_form_redirect_success(&$form, &$form_state) {
$form_state['rebuild'] = TRUE;
$form_state['redirect'] = '';
// Clear the block and page caches so that anonymous users see the estimation
// they have posted.
cache_clear_all();
}
?>
Das funktioniert auch soweit bis auf, das dass Formular danach nicht leer ist, sondern die gemachten Eingaben noch mal erscheinen. Neben dem Button "Speichern" auch noch der Button "Änderungsvorschau". Bisher habe ich es aber noch nicht geschafft, das Formular nach dem Absenden sozusagen wieder "zurückzusetzen".
Zudem wird der neue Eintrag nicht direkt angezeigt (trotz "cache_clear_all"). Erst nach einem erneuten Reload wird die eingetragene Meinung ausgegeben.
Bei der Problemlösung habe ich auch schon versucht, mich an dem Comment Modul zu orientieren, da die Funktionsweise hier so ähnlich sein soll. Wirklich weitergekommen bin ich jedoch leider nicht.
Viele Grüße,
Christian
Anhang | Größe |
---|---|
Bildschirmfoto 2011-10-17 um 12.10.52.JPG | 21.14 KB |
- Anmelden oder Registrieren um Kommentare zu schreiben
Neue Kommentare
vor 1 Stunde 35 Minuten
vor 3 Tagen 21 Stunden
vor 4 Tagen 5 Stunden
vor 4 Tagen 9 Stunden
vor 4 Tagen 14 Stunden
vor 1 Woche 1 Tag
vor 1 Woche 1 Tag
vor 1 Woche 1 Tag
vor 2 Wochen 4 Tagen
vor 3 Wochen 5 Tagen