Forum CMS Made Simple FR

Version complète : [Résolu] Frontendusers Avatar & cgsmartimage
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
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 ~~~~~


Bonsoir,

Me reste un dernier souci avec frontendusers.

Donc j'ai un champs avatar de type image celui-ci fonctionne bien.

Mais je me sert de cgsmartimage pour retravaillé l'image mais voila le souci:

Le nom du fichier image reste dans un champs hidden donc je vois pas comment faire en faisant une condition si le champs image est vide on ne fait rien apparaitre mais lsi e champs est plein on fait apparaitre l'avatar.

Voila:
Code :
[== PHP ==]
{if ...}
<div id="avatar">
{CGSmartImage src=/uploads/avatar/$avatar alias="std_thumbnail"}
</div>
{/if}

Comment faire ?

Merci
Bonsoir,

as-tu essayé un test tout simple :
Code :
{if $avatar neq ''}
code
{/if}

?
Salut,

Non ca ne fonctionne pas.

Parceque le nom de l'image avatar est garder en memoire dans un champs hidden et que le lien l'image si elle n'existe pas provoque une erreur avec la balise cgsmartimage.
Essaye :
Code :
{$feu_smarty->get_user_properties(1,'userprops')}

{if isset($userprops.avatar)}
{$userprops.avatar}
{/if}
.

Ce qui devrait t'afficher le nom de l'image uniquement si elle existe. Cette image étant stockée dans le dossier paramétré dans les options de FEU (par défaut 'uploads/feusers'), il te faudra également ajouter ce chemin à ton appel de CGSmartImage.

Tu devrais pas être loin de la solution Wink
Bonjour,

Bon rien a faire j'y arrive pas a faire ce que je voudrais et je sais que je passe coté Sad
Si tu fais :
Code :
{$feu_smarty->get_user_properties(1,'userprops')}

{$userprops|print_r}

Ca t'affiche quoi ?
Bonjour,

Cela m'affiche:
Code :
[== Indéfini ==]
29_avatar.png

metalinium@gmail.com

1
Array

Donc j'ai aucun avatar mais le système de Feu garde un nom créer dans un champs hidden.

Cgsmartimage quand il y a une image fait sont boulot comme il faut aucun souci mais quand il n'y a plus images le nom de l'avatar apparait toujours dans la balise cgsmarteimage et provoque un message d'erreur et me dit fichier introuvable normal quand il n'y pas d'image.

je ne sais pas comment manipulé les deux dans le cas d'absence image il n'affiche rien.
Et avec :

Code :
{$feu_smarty->get_user_properties(1,'userprops')}

{if isset($userprops.avatar)}
{capture assign='monavatar'}/uploads/avatar/{$userprops.avatar}{/capture}
{CGSmartImage src=$monavatar alias="std_thumbnail"}
{/if}

Ca fonctionne ?
Non

sans avatar voila le message:

Code :
[== Indéfini ==]
/public_html/modules/CGSmartImage/action.default.php:42 - trigger_error
/public_html/lib/classes/class.CMSModule.php:1583 - include
/public_html/modules/CGExtensions/CGExtensions.module.php:474 - DoAction
/public_html/lib/classes/class.CMSModule.php:1628 - DoAction
/public_html/lib/module.functions.php:122 - DoActionBase
/public_html/lib/classes/class.CMSModule.php:280 - cms_module_plugin
/public_html/tmp/templates_c/FrontEndUsers^%%24^243^243EA5D6%%module_db_tpl%3AFrontEndUsers%3Bfeusers_viewuser.php:21 - function_plugin
/public_html/lib/smarty/Smarty.class.php:1263 - include
/public_html/lib/classes/module_support/modtemplates.inc.php:242 - fetch
/public_html/lib/classes/class.CMSModule.php:2438 - cms_module_ProcessTemplateFromDatabase
/public_html/modules/FrontEndUsers/action.viewuser.php:125 - ProcessTemplateFromDatabase
/public_html/lib/classes/class.CMSModule.php:1583 - include
/public_html/modules/CGExtensions/CGExtensions.module.php:474 - DoAction
/public_html/modules/FrontEndUsers/FrontEndUsers.module.php:923 - DoAction
/public_html/lib/classes/class.CMSModule.php:1628 - DoAction
/public_html/lib/module.functions.php:122 - DoActionBase
/public_html/plugins/function.cms_module.php:21 - cms_module_plugin
/public_html/tmp/templates_c/%%E1^E1E^E1E3E438%%tpl_body%3A29.php:26 - smarty_cms_function_cms_module
/public_html/lib/smarty/Smarty.class.php:1263 - include
/public_html/index.php:269 - fetch
string(109) "Smarty error: Le fichier suivant n'a pas été trouvé : /uploads/avatar/29_avatar.png"

Tout serais plus facile sans le champs hidden comportant le nom l'image.
Avatar ou pas le noms est toujours la donc cgsmartimage lui fait pas la différence.

Je tourne en rond et je sèche.
Si ton site est hébergé, tu serai prêt à me donner un accès admin pour que je regarde ? On risque de tourner en rond... Wink
Problème résolu avec l'accès admin.

Pour info, voici un exemple de code à utiliser pour ceux qui veulent afficher des avatars ou images depuis un compte FEU.
Il faut avoir CustomContent installé - C'est sans doute possible de passer par une autre méthode sans CustomContent, mais je n'ai pas cherché...
Code :
{capture assign='monavatar'}uploads/avatar/{$ccuser->property('avatar')}{/capture}

{if file_exists($monavatar)}
{CGSmartImage src=$monavatar alias="std_thumbnail"}
{/if}

Pour info, FEU attribue un nom de variable même si le fichier n'existe pas - D'où le test "file_exists"

Si c'est bon pour toi Rams51, merci de marquer le sujet en résolu Wink
Re,

Un grand merci c'est tout a fait ce que je cherché a faire et encore une fois j'ai zappé la solution du file_exists. (j'aurai du y pense au lieu dérange autant )

A noté dans un coin vos favoris ce sujet car peu servir Wink

Merci
De rien Wink Allez je ferme la discussion