Submitted by Final_Dev on
Bonjour
Je réalise un site Internet avec plusieurs formulaire. Je voudrais savoir s'il existe une fonction drupal qui me permettrai de faire un retour en arrière.
Je m'explique, je voudrais que lorsqu'on click sur le bouton submit, on revienne à la page précédente. Je sais très bien le faire en javascript avec history.back() mais étant donné la structure du code, je dois le faire avec une fonction drupal.
Dans l'API drupal, j'ai découvert drupal_goto() et drupal_get_destination() mais cela ne me donne aucun résultat concluant
Une idée?
La seule manière que je
Permalien Soumis par nyl auster le 27 Octobre, 2009 - 10:14
La seule manière que je vois de faire ça c'est de modifier la redirection du formulaire : c'est le code du formulaire qui contient la redirection à effectuer après la soumission Pour faire ça, il faut faire un petit module avec un hook form_alter et préciser la nouvelle redirection que tu souhaites en définissant $form['#redirect'] avec l'adresse souhaitée.
Je n'ai pas de temps pour faire une explication plus détaillée désolé...
J'ai oublié de précisée
Permalien Soumis par Final_Dev le 27 Octobre, 2009 - 10:34
J'ai oublié de précisée un petit détail désolé.
En faite, on accède à ce formulaire à partir des résultats obtenu grâce à la recherche de l'utilisateur. Donc je ne connais pas exactement la page "précédente". Je vais essayer de voir ce que je pourrais faire avec les hook_form_alter. Merci du conseil.
Je suis toujours preneur pour d'autre idée
J'ai dit une betise : si tu
Permalien Soumis par nyl auster le 27 Octobre, 2009 - 10:39
J'ai dit une betise : si tu arrives sur ton formulaire avec une destination indiquée dans l'url (tu peux te servir de drupal_get_destination pour t'aider à construire le lien); le formulaire redirigera bien vers la page indiqué dans le paramètre destination qui tu auras fait passer dans l'url
Hum d'accord. En faite
Permalien Soumis par Final_Dev le 27 Octobre, 2009 - 11:00
Hum d'accord.
En faite drupal_get_destination() récupère l'url de la page(comme le location.href en javascript).
Je n'avais pas compris cela en lisant les descriptions dans l'API (mon anglais est vraiment pas terrible). Je vais tenter de récupérer ceux dont j'ai besoin dans l'adresse url puis utilisé drupal_goto() pour revenir à la page précédente.
Merci beaucoup
Voilà, il récupère l'url
Permalien Soumis par nyl auster le 27 Octobre, 2009 - 11:08
Voilà, il récupère l'url de la page actuelle; ensuite il faut constuire un lien vers ton formulaire qui contient cette destination (il faut &destination=xxx à la fin de ton lien).
Ensuite je pense que tu n'as pas besoin de drupal goto : si tu arrives sur un formulaire Drupal, je pense qu'il regarde si il y a une destination de précisée puisqu'il redirige automatiquement à la bonne adresse lors de la soumission
Bonjour, J’essaie de faire la
Permalien Soumis par sterodste le 9 Février, 2012 - 19:50
Bonjour,
J'essaie de faire la même chose, mais j'ai de la misère à figurer l'implantation. Serait-il possible d'avoir un exemple plus détaillé.
J'utilise FullCalendar et Colorbox et j'aimerais revenir à la page où l'utilisateur à déclenché l'ouverture du lien (événement)....
Auparavant je les redirigeait vers le front page où mes deux calendriers se trouvaient, mais je dois les séparer et en rajouter un. (History.back() aurait été parfait).
Merci à l'avance.
regarde du coté de la
Permalien Soumis par ced_sdml le 20 Février, 2012 - 11:50
regarde du coté de la variable global $_SERVER['HTTP_REFERER'].
bonne chance
+++