Fonction pour Revenir à la page précédente

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

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?

Forum : 

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 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 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 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 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 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.