THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

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

Offline

#1 Variable get dans loop

(28-05-2021 11:28:05)


Hello!

Petite question qui me bloque...

Je récupère une variable get depuis mon url que j'aimerais utiliser comme argument dans une loop.

Mais impossible de la récupérer...

Si je mets dans mon template {$smarty.get.mavar} et que mon url est ?mavar=1 j'obtiens bien "1" dans mon rendu html.

Par contre dans ma loop

{loop type=".." name=".." mavar='{$smarty.get.mavar}'}

ça me sort une erreur en me disant que '{$smarty.get.mavar}' n'est pas une valeur valide... en gros ça ne remplace pas par la valeur "1"

une idée ?


Aide les autres, ils t'aideront en retour.

Offline

#2 Re: Variable get dans loop

(28-05-2021 16:14:39)


Tu devrais plutôt écrire ta boucle comme cela je pense

{loop type=".." name=".." mavar={$smarty.get.mavar}}

ou encore

{loop type=".." name=".." mavar=$smarty.get.mavar}

En écrivant

{loop type=".." name=".." mavar='{$smarty.get.mavar}'}

ta variable vaut litéralement la chaîne de caractère : {$smarty.get.mavar}; elle n'est pas interpolée.

Si le type Thelia de mavar dans ta boucle est de  Thelia\Type\AlphaNumStringType tu n'aurais pas de message d'erreur.
L'erreur provient probablement du fait que son type est Thelia\Type\IntType dans ton module non ?

Last edited by Nog (31-05-2021 10:22:16)

Offline

#3 Re: Variable get dans loop

(31-05-2021 08:32:15)


mavar=$smarty.get.rule

Merci nickel wink


Aide les autres, ils t'aideront en retour.

Offline

#4 Re: Variable get dans loop

(31-05-2021 10:54:20)


La syntaxe à utiliser est la suivante :

{loop type=".." name=".." mavar={$smarty.get.mavar}}

En effet, en utilisant { ... } le contenu de la variable sera filtré, ce qui est indispensable d'un point de vue sécurité quand on manipule des variable accessibles depuis le navigateur.


OpenStudio Toulouse

Offline

#5 Re: Variable get dans loop

(31-05-2021 11:13:57)


roadster31 wrote:

La syntaxe à utiliser est la suivante :

{loop type=".." name=".." mavar={$smarty.get.mavar}}

En effet, en utilisant { ... } le contenu de la variable sera filtré, ce qui est indispensable d'un point de vue sécurité quand on manipule des variable accessibles depuis le navigateur.


Ah bah ça marche aussi (si le cache s'est bien vidé...)


Aide les autres, ils t'aideront en retour.

Offline

#6 Re: Variable get dans loop

(31-05-2021 13:37:26)


Ah bah ça marche aussi (si le cache s'est bien vidé...)

Le cache n'a rien à voir là dedans


OpenStudio Toulouse