THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Je ne sais pas ce qui a été modifié,mais en tout cas ça fonctionne sur le template standard, même avec un paramètre dans l'URL.


OpenStudio Toulouse

Offline


Bon, j'avance encore un peu.
Je rappelle le problème qui persiste :

L'url "/contact/success" appelle bien le template "contact-sussess.html" et mon message de confirmation s'affiche, bien sûr
L'url "/contact/success?folder_id=n" renvoit par contre vers services.html

Je me rends compte que ce n'est pas un comportement normal, j'ai fait le test sur le site de demo de Thelia. "http://demo.thelia.net/contact/success" et "http://demo.thelia.net/contact/success?folder_id=n" appellent tous 2 le template contact-sussess.html avec le petit message de succès.

Chose étrange, sur mon site, si je remplace dans l'url "folder_id=n" par n'importe quel autre variable "toto=n", "mavariable_test=x", alors ça fonctionne et c'est contact-success.html est appellé normalement.

J'ai bien relu ce que tu m'a dit, et je me suis naturellement redirigé vers ce problème, car après le dernier post, j'avais réactivé le rewriting :

Comme la ré-écriture est activée, le système de gestion de ré-écriture essaie de trouver une route qui matche "/contact?folder_id=x" (au lieu de "/contact"), et évidemment, il ne trouve rien.

Mais après avoir désactivé la ré-écriture le problème est le même, l'url "/contact/success?folder_id=n" renvoit par contre vers services.html tandis que "/contact/success?une_autre_variable=n" fonctionne.

Enfin, dernière précision important, lorsque je remet le template par defaut que j'ai pris soin de garde intact bien sûr, l'url "/contact/success?folder_id=n" renvoit vers la page 404 (Failed to load resource: the server responded with a status of 404 () : success) tandis que "/contact/success?une_autre_variable=n" fonctionne.

Une idée ?

Last edited by anti-conformiste (03-05-2017 08:09:09)

Offline


Ferme complètement ton navigateur, il a peut-être gardé quelques vieilles redirections en mémoire.


OpenStudio Toulouse

Offline


roadster31 wrote:

Ferme complètement ton navigateur, il a peut-être gardé quelques vieilles redirections en mémoire.

Oui, c'est une bonne idée. Je viens de lancer un navigateur différent en mode privé après suppression comlplète des données, même résultat.

Offline


Je te remercie sincèrement pour ta patience et ton aide. Je soupçonne mon hébergeur (c'est la 1ère fois que j'utilise ses services).
Je fais un dump de la base, je copie le site sur mon hébergeur habituel et je fais un feedback, ça apportera peut-être un éclairage nouveau.

Offline


Chez OVH comme chez mon nouvel hébergeur, une install neuve fonctionne !!! ?

Et j'ai remarqué que ça fonctionne si le folder_id n'existe pas. A l'inverse si le folder_id existe, ça ne fonctionne pas.

GET /contact/success?folder_id=5 404 (Not Found) > success?folder_id=5:1

C'est pourtant l'inverse qui devrait se produire !

J'ai remis le template par défaut, il n'y a aucune modification des fichiers du template ni de Thelia, évidemment.

Je suis perdu...

Last edited by anti-conformiste (03-05-2017 11:04:45)

Offline


Bon, problème contourné. En résumé, au lieu de travailler directement sur la variable "réservée" folder_id, j'attribue à une nouvelle variable "dossier" la valeur {folder attr="id"}. Je teste si je suis sur la page services ou sur la page contact-success et je récupère soit  {folder attr="id"} (page services), soit {$smarty.get.dossier} (page contact-success)

{if !{$smarty.get.dossier}}
	{$dossier = {folder attr="id"}}
{else}
	{assign var="dossier" value={$smarty.get.dossier}}
{/if}

Bien sûr, il faut ajouter ceci pour passer le paramètre dossier à contact.success

{form_field field="success_url"}
        <input type="hidden" name="{$name}" value="{url route_id="contact.success" dossier={folder attr="id"}}">
{/form_field}

Je ne comprends toujours pas pourquoi ça ne fonctionne pas directement avec la variable "folder_id", ça me dépasse.

Mais j'ai trouvé une solution.

Roadster, merci encore pour ton aide !

Last edited by anti-conformiste (03-05-2017 10:58:00)