Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[Résolu]Frontenduser change settings
#1
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.
#2
bonjour,
$control->name contient le nom des champs préfixés par input.
Donc si c'est input_mailing_list, tu peux agir Smile
{SEO}
Inscrivez-vous à notre Newsletter sur le site (colonne de droite, en bas).
Vous appréciez CMSMS et l'aide qui vous est fournie ici, aidez-nous en participant au projet.
Formation CMS Made Simple | Création de site CMS Made Simple.

C'est en se plantant qu'on devient cultivé.
J'ai un string dans l'Array (Paris Hilton)
#3
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
#4
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!
{SEO}
Inscrivez-vous à notre Newsletter sur le site (colonne de droite, en bas).
Vous appréciez CMSMS et l'aide qui vous est fournie ici, aidez-nous en participant au projet.
Formation CMS Made Simple | Création de site CMS Made Simple.

C'est en se plantant qu'on devient cultivé.
J'ai un string dans l'Array (Paris Hilton)
#5
Oui je veux caché la case a cocher.

Je peu le faire avec une condition "si" ?
#6
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.
{SEO}
Inscrivez-vous à notre Newsletter sur le site (colonne de droite, en bas).
Vous appréciez CMSMS et l'aide qui vous est fournie ici, aidez-nous en participant au projet.
Formation CMS Made Simple | Création de site CMS Made Simple.

C'est en se plantant qu'on devient cultivé.
J'ai un string dans l'Array (Paris Hilton)
#7
C'est bon ça fonctionne.

Merci l'aide Wink


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)