RESOLU] CGUserDirectory les membres FEU peuvent choisir d'etre visible -
zounars - 07/12/2012
Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: 1.11.2.1
#~ Url du site :
#~ Hébergeur / Soft : xampp
#~ Informations Système :
#~ ----------------------------------------------
#~ Cms Version: 1.11.2
#~ Installed Modules:
#~ CGExtensions: 1.31.2
#~ CGContentUtils: 1.3.3
#~ FrontEndUsers: 1.21
#~ CustomContent: 1.8.3
#~ CGUserDirectory: 1.3
#~ SelfRegistration: 1.7.2
#~ FormBrowser: 0.4.2
#~ Captcha: 0.4.5
#~ Config Information:
#~ php_memory_limit:
#~ process_whole_template:
#~ output_compression:
#~ max_upload_size: 96000000
#~ url_rewriting: none
#~ page_extension:
#~ query_var: page
#~ image_manipulation_prog: GD
#~ auto_alias_content: true
#~ locale:
#~ default_encoding: utf-8
#~ admin_encoding: utf-8
#~ set_names: true
#~ Php Information:
#~ phpversion: 5.3.18
#~ memory_limit: 80M
#~ max_execution_time: 50
#~ Server Information:
#~ Server Api: cgi-fcgi
#~ Server Db Type: MySQL (mysql)
#~ Server Db Version: 5.1.63
#~ Server Db Grants: Found a "GRANT ALL" statement that appears to be suitable
#~ ----------------------------------------------
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~
Bonjour à tous,
J'utilise SelfRegistration, FEU et CGUserDirectory pour créer une liste d'utilisateurs sur un site associatif.
Les membres voudraient avoir la possibilité de choisir d’être visibles/listés ou non sur la partie publique du site.
Est-il possible d'utiliser une propriété "case à cocher" de FEU pour mettre en place cette option?
Merci pour l'aide.
Arsene
RESOLU] CGUserDirectory les membres FEU peuvent choisir d'etre visible -
jissey - 07/12/2012
Bonjour,
oui, tu peux ajouter une case à cocher dans "propriété de l'utilisateur" et ensuite la tester dans ton contenu avec SMARTY.
RESOLU] CGUserDirectory les membres FEU peuvent choisir d'etre visible -
zounars - 07/12/2012
Merci Jissey de me confirmer cela,
pourrais-tu m'aider avec le code smarty à utiliser.
Merci.
RESOLU] CGUserDirectory les membres FEU peuvent choisir d'etre visible -
jissey - 08/12/2012
salut,
donne moi un début de code à corriger.
RESOLU] CGUserDirectory les membres FEU peuvent choisir d'etre visible -
zounars - 09/12/2012
Bonjour Jissey,
Ce que j'ai fait jusqu'à présent:
-créé un propriété dans FEU "afficher_profil"
-modifié le summarytemplate de CGUD en ajoutant
Code :
[== Indéfini ==]
{if $oneuser.properties.afficher_profil eq 1}
les personnes ayant coché afficher_profil
{/if}
J'utilise "eq 1" car le sommaire sur le site affiche 1 ou 0 selon que l'user ait coché ou non "afficher_profil"
J'ai comme summarytemplate de CGUserdirectory le code ci-dessous
Code :
[== Indéfini ==]
{* CGUserDirectory summary template *}
<div id="userdirectory_summary">
{if isset($numpages) && $numpages > 1}
{if isset($firstpage_url)}
<a href="{$firstpage_url}" title="{$mod->Lang('lbl_first_page')}"><<</a>
{/if}
{if isset($prevpage_url)}
<a href="{$prevpage_url}" title="{$mod->Lang('libl_prev_page')}"><</a>
{/if}
{$mod->Lang('page')} {$curpage} {$mod->Lang('of')} {$numpages}
{if isset($nextpage_url)}
<a href="{$nextpage_url}" title="{$mod->Lang('lbl_next_page')}">></a>
{/if}
{if isset($lastpage_url)}
<a href="{$lastpage_url}" title="{$mod->Lang('lbl_last_page')}">>></a>
{/if}
{/if}
{if $oneuser.properties.afficher_profil eq 0}
{foreach from=$users item='oneuser'}
<div class="userdirectory_oneuser" style="margin: 2em; padding-bottom; 2em;">
<div class="row" style="margin: 0.5em;">
<div style="width: 49%; float: left;">{$mod->Lang('username')}:</div>
<div style="width: 49%; float: left;"><a href="{$oneuser.detail_url}" title="{$oneuser.username}">{$oneuser.username}</a> ({$oneuser.id})</div>
</div>
{if isset($oneuser.refdate)}
<div class="row" style="margin: 0.5em;">
<div style="width: 49%; float: left;">{$mod->Lang('last_active')}:</div>
<div style="width: 49%; float: left;">{$oneuser.refdate|cms_date_format}</div>
</div>
{/if}
<div class="row" style="margin: 0.5em;">
<div style="width: 49%; float: left;">{$mod->Lang('groups')}:</div>
<div style="width: 49%; float: left;">
{foreach from=$oneuser.groups item='onegroup'}
{$groups.$onegroup.groupname}
{/foreach}
</div>
</div>
{* properties *}
{foreach from=$oneuser.properties item='onepropvalue' key='propname'}
<div class="row" style="margin: 0.5em;">
<div style="width: 49%; float: left;">{$properties.$propname.prompt}:</div>
<div style="width: 49%; float: left;">
{if $properties.$propname.type == 4}
{$feu_smarty->get_dropdown_text($propname,$onepropvalue)}
{* dropdown *}
{elseif $properties.$propname.type == 5}
{* multiselect *}
{assign var='tmp' value=','|explode:$onepropvalue}
{$feu_smarty->get_multiselect_text($propname,$onepropvalue,'values')}
{cgud_getpropertysummary_url prop="$propname" propval="$onepropvalue" assign='urls'}
<ul>
{foreach from=$values name='multi' item='one'}
<li>
{assign var='i' value=$smarty.foreach.multi.index}
<a href="{$urls[$i]}" title="{$one}">{$one}</a>
</li>
{/foreach}
</ul>
{else}
{$onepropvalue}
{/if}
</div>
</div>
{/foreach}
<div class="clearfloat"></div>
</div>{* userdirectory_oneuser *}
{/foreach}
{/if}
</div>{* userdirectory_summary *}
Merci
RESOLU] CGUserDirectory les membres FEU peuvent choisir d'etre visible -
jissey - 09/12/2012
et ça ne marche pas?
Tu as vérifié la valeur de $oneuser.properties.afficher_profil ? {$oneuser.properties.afficher_profil}
Il me semble que c'est $oneuser.properties.afficher_profil.value mais je ne connais pas CGUD.
Pour savoir, fait : {$oneuser.properties.afficher_profil|var_dump}
A la limite tu ne fais que ça dans le template.
RESOLU] CGUserDirectory les membres FEU peuvent choisir d'etre visible -
jissey - 12/12/2012
Bonjour,
tu en es où-ce que?
RESOLU] CGUserDirectory les membres FEU peuvent choisir d'etre visible -
zounars - 12/12/2012
Bonjour Jissey,
J'ai refait une installation en ligne pour faciliter la compréhension de la situation.
Sur cette page
http://cmaxi.com/index.php?page=listes-utilisateurs , tu peux voir deux utilisateurs que j'ai créé.
La propriété "afficher_profil" mets 0 (si pas coché) et 1 (si coché).
dans mon gabarit sommaire de CGUD j'utilise {if $oneuser.properties.afficher_profil eq 0} et il affiche les 2 utilisateurs (coché et non coché) parce que lorsque je mets {if $oneuser.properties.afficher_profil eq 1}, je n'ai aucun des deux visible.
Je peux te donner accès à l'admin si ça te permets de mieux apprécier la situation.
Merci.
RESOLU] CGUserDirectory les membres FEU peuvent choisir d'etre visible -
jissey - 12/12/2012
salut,
avant de me donner un accès, as-tu essayé comme je te l'ai dit plus haut :
Code :
[== Indéfini ==]
{if $oneuser.properties.afficher_profil.value eq 1}
et si ça ne résout pas le problème :
Code :
[== Indéfini ==]
{$oneuser.properties.afficher_profil|var_dump}
RESOLU] CGUserDirectory les membres FEU peuvent choisir d'etre visible -
zounars - 12/12/2012
Merci encore de m'aider,
J'ai toujours le même résultat lorsque j'ajoute .value à la fin {if $oneuser.properties.afficher_profil.value eq 1}
Quant à {$oneuser.properties.afficher_profil|var_dump}, il m'affiche NULL à l'écran.
RESOLU] CGUserDirectory les membres FEU peuvent choisir d'etre visible -
jissey - 12/12/2012
ok, alors j'installe CGUD et je regarde le nom des champs supplémentaires.
RESOLU] CGUserDirectory les membres FEU peuvent choisir d'etre visible -
jissey - 12/12/2012
Haaa! mais non! tu as mis {if $oneuser.properties.afficher_profil eq 0} n dehors de la boucle. Il faut le mettre après le foreach. et met aussi {$oneuser.properties.afficher_profil|var_dump} pendant que tu y es.
RESOLU] CGUserDirectory les membres FEU peuvent choisir d'etre visible -
jissey - 12/12/2012
voilà:
tu dois utiliser:
Code :
[== Indéfini ==]
$oneuser['properties']['afficher_profil']
RESOLU] CGUserDirectory les membres FEU peuvent choisir d'etre visible -
zounars - 12/12/2012
Merci Jissey,
J'ai juste déplacé dans la boucle et ça marche.
Je mets résolu. merci encore pour ton aide.
Arsene
RESOLU] CGUserDirectory les membres FEU peuvent choisir d'etre visible -
jissey - 12/12/2012
Super...j'avais dit une grosse bêtise : en smarty, les array s'écrivent bien nom.key1.key2 et non pas nom['key1']['key2'] comme en PHP!
Heureux que ça marche.
A+