Objectif : Avoir un champ nom et un champ prénom tout en conservant le champ "Nom réel" :
Xoops 2.3.x et Module "Profile"
Dans Xoops Nous avons un champ Nom réel. Il contient généralement le prénom et le nom des membres.
Si l'on veut avoir un champ pour le nom et un champ pour le prénom tout en restant dans le standard Xoops (en continuant à utiliser le champ Nom réel),
Nous allons créer deux champs Texte dans le module profile profile_nom et profile_prenom
Ce sont ces deux champs qu’il faudra rendre visible dans la saisie de sa fiche, le champ nom réel sera quant à lui masqué (à l’édition et à la création). Il apparaîtra cependant dans le Forum (standard Xoops)
Nous allons maintenant ajouter une petite routine qui concatène le prénom et le nom pour l’intégrer dans le champ « Nom réel » lorsque l’on créée ou que l’on modifie sa fiche…
Ainsi - Nous aurons un champ nom et un champ prénom - Le champ « nom réel » sera toujours à jour
Bref que des avantages, le tout sans modifier la structure de Xoops.
1) Lors de la création de la fiche /modules/profiles/register.php
À la fin (juste avant include ‘footer.php’)
Ajouter le code suivant :
mysql_query("
UPDATE " . $xoopsDB->prefix("users") . " U INNER JOIN " . $xoopsDB->prefix("profile_profile") . " P ON U.uid = P.profile_id AND U.uid=$uid set U.name=CONCAT(P.profile_prenom, ' ', P.profile_nom)
");
2) Lors de la modification de la fiche Dans modules/profile/edituser.php Juste après la ligne 85
unset($_SESSION['xoopsUserTheme']);
Ajoutez le même code que précédemment.
Remarque 1 : Attention ! Si c’est le webmestre qui modifie la fiche d’un membre il n’y aura pas de mise à jour.
Remarque 2 : Pensez simplement à refaire la modification à chaque mise à jour du module PROFILE…
@+ Z
|