Forum CMS Made Simple FR
[Résolu]Frontenduser change settings - Version imprimable

+- Forum CMS Made Simple FR (https://forum.cmsmadesimple.fr)
+-- Forum : Général (https://forum.cmsmadesimple.fr/forum-3.html)
+--- Forum : Modules, Tags (https://forum.cmsmadesimple.fr/forum-14.html)
+--- Sujet : [Résolu]Frontenduser change settings (/thread-1761.html)



[Résolu]Frontenduser change settings - Rams51 - 07/02/2012

Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: #1.10.3
#~ Url du site :
#~ Hébergeur / Soft :
#~ Informations Système :
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~


Bonjour,

Voila j'ai installé une case a coché lors de l'inscription pour la newsletter cela fontionne.

Donc quand on est connecté et que l'on va sur page changesettings la case a coché pour la newsletter est présente.

Ce que je souhaiterai c'est en mettant une condition dans le template change setting que cette case a coché disparaît car elle n'a aucune utilité dans la page changesetting.

Comment faire car j'arrive pas m'ensortir avec la control->prompt qui regroupe toute les champs.

Avec d'autre modules j'ai réussi car chaque champs etait dissocier .

Merci bien d'avance.


[Résolu]Frontenduser change settings - jissey - 07/02/2012

bonjour,
$control->name contient le nom des champs préfixés par input.
Donc si c'est input_mailing_list, tu peux agir Smile


[Résolu]Frontenduser change settings - Rams51 - 08/02/2012

Re Bonjour,

Donc j'ai trouvé plusieurs manière mais je voudrais savoir laquelle est la plus propre et optimisé.

Code :
[== PHP ==]
{if $controlcount > 0}
{foreach from=$controls item=control }
{if $control->name == 'input_mailing_list'}
{$control->prompt}{$control->marker}: {$control->control}
{/if}
{/foreach}
{/if}

Ou celui-ci

Code :
[== PHP ==]
{if $controlcount > 0}
{foreach from=$controls item=control }
{assign var=$control->name value=$control}
{/foreach}
{$input_mailing_list->control}
{/if}

Dans les deux cas j'arrive a faire ce que je souhaite.

Merci


[Résolu]Frontenduser change settings - jissey - 08/02/2012

je pensais que tu voulais masquer la case à cocher?
Sinon, si les 2 solutions font ce que tu souhaites au final...à toi de choisir.
Perso, je préfère les tests, inutile d'initialiser des tas de variables, il y en a déjà assez comme ça!


[Résolu]Frontenduser change settings - Rams51 - 08/02/2012

Oui je veux caché la case a cocher.

Je peu le faire avec une condition "si" ?


[Résolu]Frontenduser change settings - jissey - 09/02/2012

SiSi,bien sûr, je n'ai pas l'intégrité du gabarit et je vois :
Code :
{$input_mailing_list->control} ou {if $control->name == 'input_mailing_list'}
{$control->prompt}{$control->marker}: {$control->control}...
je m'attendais plutôt à quelque chose comme :
{if $control->name != 'input_mailing_list'}
{$control->prompt}!$control->marker}: {$control->control}...

Mais c'est sans importance puisque le résultat est celui que tu attends.
Donc, perso, je préfère la solution avec le test plutôt que celle avec l'assignation de variables smarty.


[Résolu]Frontenduser change settings - Rams51 - 09/02/2012

C'est bon ça fonctionne.

Merci l'aide Wink