Fork me on GitHub




« 1 (2) 3 4 5 ... 12 »


Re: recuperation des donnée d'enregistrement dans profile utilisateur sous xoops2.32
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
Avec le lien indiqué par Ghia, j'ai aussi parcouru ce sujet :
http://www.xoops.org/modules/newbb/vi ... id=299534#forumpost299534

Et sauf bug caché, j'arrive à présent à insérer les champs personnels dans le module yogurt.
Je fais encore un ou deux tests pour m'assurer que tout fonctionne, et je poste ici une explication.

Posté le : 12/12/2008 14:14
Partager Twitter Partagez cette article sur GG+
Re: recuperation des donnée d'enregistrement dans profile utilisateur sous xoops2.32
Supporter Xoops
Inscrit: 17/12/2005 01:41
De Alpes Maritimes
Messages: 1682
Merci pour l'essai bluteen
J'ai regarder un peu le lien de Ghia mais entre mon niveau d'anglais moyen et mon niveau en php et sql moyen aussi c pas tres clair pour moi

Posté le : 12/12/2008 14:53
Partager Twitter Partagez cette article sur GG+
Re: recuperation des donnée d'enregistrement dans profile utilisateur sous xoops2.32
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
Voilà, je vous propose un premier test, avec l'ajout d'un champs additionnel gérant la date de naissance dans le module 'profile', et l'affichage de cette date dans le module 'yogurt'.

Je commence par créer un champs au format date dans le module 'profile' sous xoops 2.3.x
Le libellé sera 'Date de naissance', et le nom du champs dans la base de données sera 'date_naissance'.

Open in new window

Open in new window

Open in new window

J'édite ensuite mon profil dans le module 'profile', et j'indique une date de naissance.
Je retrouve bien cette date dans mon profil.

Open in new window

J'édite à présent le fichier /modules/yogurt/index.php

Et juste avant la ligne :
include("../../footer.php");

J'ajoute :
$profile_handler =& xoops_getmodulehandler('profile','profile');
$uidyogurt intval($_GET['uid']); //get uid from url
if ($uidyogurt <= 0) { //if no valid uid passed to url
    
if (is_object($xoopsUser))  {//if member
        
$profile $profile_handler->get($xoopsUser->getVar('uid'));} //get uid for the connected member
        
else {
             
header('location: ' XOOPS_URL); //back to homepage - redirect wherever you want
             
exit();}
}
else {
//if a correct uid passed to url - eg. : index.php?uid=12
    
$profile $profile_handler->get($uidyogurt);}//get uid passed to url to take right data from profile
$date_de_naissance date('d/m/Y'$profile->getVar('date_naissance'));
$xoopsTpl->assign('date_naissance',$date_de_naissance);


Comme c'est une date stockée sous la forme d'un entier, j'utilise la fonction php 'date' afin de la remettre en forme.

J'ai à présent la possibilité d'utiliser la variable smarty suivante :
<{$date_naissance}>


C'est ce que je fais avec le fichier /modules/yogurt/templates/yogurt/index.html, en changeant la ligne 105 :
<class="odd"><img src="images/username.gif" /><span class="yogurt-profileinfo-label"><{$lang_uname}>:</span><span class="yogurt-profileinfo-value"><{$user_uname}></span></p>

Par :
<class="odd"><img src="images/username.gif" /><span class="yogurt-profileinfo-label"><{$lang_uname}>:</span><span class="yogurt-profileinfo-value"><{$user_uname}> - <{$date_naissance}></span></p>

Ce qui me donne l'affichage suivant :

Open in new window

Je peux bien entendu placer cette variable ailleurs dans la page.

Dans le cas d'une variable contenant du texte pur, il suffit d'utiliser ce code :
$ma_variable $profile->getVar('ma_variable_texte');
$xoopsTpl->assign('ma_variable_texte',$ma_variable);


A la place de :
$date_de_naissance date('d/m/Y'$profile->getVar('date_naissance'));
$xoopsTpl->assign('date_naissance',$date_de_naissance);


Que je peux ensuite afficher où je veux avec la variable smarty :
<{$ma_variable_texte}>

Posté le : 12/12/2008 14:55
Partager Twitter Partagez cette article sur GG+
Re: recuperation des donnée d'enregistrement dans profile utilisateur sous xoops2.32
Supporter Xoops
Inscrit: 17/12/2005 01:41
De Alpes Maritimes
Messages: 1682
OUAHH SUPER merci bluteen
Je teste cela ce soir car la suis au boulot et j'ai beaucoup de travail aujourd'hui. En tout cas encore merci je crois que ça ajoute un gros plus au module yogurt qui est déjà génial.

Posté le : 12/12/2008 14:58
Partager Twitter Partagez cette article sur GG+
Re: recuperation des donnée d'enregistrement dans profile utilisateur sous xoops2.32
Supporter Xoops
Inscrit: 17/12/2005 01:41
De Alpes Maritimes
Messages: 1682
Merci pour tout ça marche nickel!!!

Posté le : 14/12/2008 11:42
Partager Twitter Partagez cette article sur GG+
Re: recuperation des donnée d'enregistrement dans profile utilisateur sous xoops2.32
Supporter Xoops
Inscrit: 17/12/2005 01:41
De Alpes Maritimes
Messages: 1682
Apres verifiaction plus poussé il s'avere que cela ne donne pas exactement le resultat voulu
en effet nous ruperons bien les données de l'utilisateur enregistré mais lorsque celui ci consulte une autre fiche c toujours ces données qui apparaisse
du coup chez moi tout le monde a la date de naissance de l'user enregistré .
Je pense que le probleme vient de la declaration de la variable dans le index de yogurt. Je vais essayer de comprendre le pb mais c'est pas gagné

Posté le : 15/12/2008 11:59
Partager Twitter Partagez cette article sur GG+
Re: recuperation des donnée d'enregistrement dans profile utilisateur sous xoops2.32
Supporter Xoops
Inscrit: 17/12/2005 01:41
De Alpes Maritimes
Messages: 1682
Bon si j'ai bien compris la probleme vient de la
Citation :
$profile = $profile_handler->get($xoopsUser->getVar('uid'));


il faudra pas reccuperer l'uid mais l'uid de la fiche consultée. La par contre je seche .

Posté le : 15/12/2008 12:01
Partager Twitter Partagez cette article sur GG+
Re: recuperation des donnée d'enregistrement dans profile utilisateur sous xoops2.32
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
bien vu.
je jetterai un oeil !

Posté le : 15/12/2008 12:12
Partager Twitter Partagez cette article sur GG+
Re: recuperation des donnée d'enregistrement dans profile utilisateur sous xoops2.32
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
Tu peux tester un truc ?
Dans le fichier index.php, au lieu de la partie
$profile_handler =& xoops_getmodulehandler('profile','profile');
$profile $profile_handler->get($xoopsUser->getVar('uid'));
$date_de_naissance date('d/m/Y'$profile->getVar('date_naissance'));
$xoopsTpl->assign('date_naissance',$date_de_naissance);


Tu peux tester :
$profile_handler =& xoops_getmodulehandler('profile','profile');
$uidyogurt intval($_GET['uid']); //get uid from url
if ($uidyogurt <= 0) { //if no valid uid passed to url
    
if (is_object($xoopsUser))  {//if member
        
$profile $profile_handler->get($xoopsUser->getVar('uid'));} //get uid for the connected member
        
else {
             
header('location: ' XOOPS_URL); //back to homepage - redirect wherever you want
             
exit();}
}
else {
//if a correct uid passed to url - eg. : index.php?uid=12
    
$profile $profile_handler->get($uidyogurt);}//get uid passed to url to take right data from profile
$date_de_naissance date('d/m/Y'$profile->getVar('date_naissance'));
$xoopsTpl->assign('date_naissance',$date_de_naissance);


J'ai mis quelques commentaires en anglais à côté pour expliquer la démarche.

J'ai testé de mon côté, et je récupère bien la bonne date correspondant au profil du membre visité.

Posté le : 15/12/2008 16:24
Partager Twitter Partagez cette article sur GG+
Re: recuperation des donnée d'enregistrement dans profile utilisateur sous xoops2.32
Supporter Xoops
Inscrit: 17/12/2005 01:41
De Alpes Maritimes
Messages: 1682
bon apparemment ça marche Merci Beaucoup.

Posté le : 16/12/2008 09:48
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant
« 1 (2) 3 4 5 ... 12 »



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

79 Personne(s) en ligne (58 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 79 | Plus ...