Ce tutoriel a pour but de vous guider afin de pouvoir afficher les champs de profil personnalisés sur votre forum. Ce tutoriel n'est valable QUE pour les styles basés sur PROSILVER et PROSILVER lui même.
1- Créer un champ de profils personnalisé.
- Commençons tout d'abord par créer un champ de test.
Allez dans votre panneau d'administration, onglet "Utilisateurs et groupes" et puis sur le menu à gauche, cliquez sur "Champs de profil personnalisés".
Vous aller avoir cette fenêtre:

- Dans la zone de texte, mettez le nom du champ (nous l'appellerons "test" pour ce tutoriel)
Puis dans le menu déroulant à coté, nous choisirons "Champ de texte simple".
Enfin cliquez sur "Créer un nouveau champ"
Nous arrivons sur la deuxième fenêtre.

- Explication des champs:
1- Ceci est le type de champ, défini lors de la création et non modifiable.
2- Nom de votre champ dans la base de données. Ce n'est pas ce qui sera affiché, mais un nom qui défini ce champ de profil personnalisé (essayez d'éviter les accent et autres caractères "exotique". Donnez lui un nom facile à retenir en rapport avec le champs. Ce nom sera utile plus tard pour afficher le champ dans la liste des membres.
3- Permet d'afficher ou non, le champ là ou c'est autorisé
4 5 6 7- Les textes d'explications sont assez simple à comprendre, je ne vais pas répéter.
8- Le titre du champ affiché à l'utilisateur (à la différence du nom du champ qui lui est une information interne pour identifier votre champ dans la base de données)
9- La description du champ.
10- La valeur par défaut qui sera affiché.
Pour notre exemple,nous mettrons OUI pour le point 3 et nous cocherons la case du point 4.
Puis cliquez sur "Options particulières du type de profil" en bas de page.

- Cette fenêtre permet de définir la longueur du champ, le nombre minimum et maximum de caractères, et les caractères autorisés (tous, alphanumériques, chiffre..)
Cliquez maintenant sur "Options particulières de langue"

- Ici nous pouvons définir un nom, une description et une valeur par défaut pour vos autres langues. Ici j'ai de l'anglais donc je peux mettre des valeurs différentes pour la langue anglaise.
Enfin cliquez sur "Sauvegarder" pour sauvegarder votre champ de profil personnalisé.
Il va aussi falloir gérer l'affichage de champ de profil.
Pour cela, toujours dans le panneau d'administration, onglet "général", puis dans le menu gauche cliquez sur "Paramètres de charge".
Tout en bas de la page, vous pouvez choisir ou sera affiché le ou les champs de profils personnalisés que vous avez créés.
Le premier permet d'afficher le champ dans la liste des membres (nous y reviendrons plus tard), le deuxième dans le profil général (lorsque l'on clique sur le nom d'un membre) et le dernier dans les pages de sujets.
Pour les besoins du tutoriel, mettez tout à OUI.
Vous pourrez désactiver les affichages plus tard.
2- Afficher le champ dans les pages du sujets et dans le profil général.
- Pour cela rendez-vous dans votre panneau d'utilisateur.
Puis choisissez l'onglet "profil". Vous devriez voir un nouveau champ appelé test. Si vous avez mis une valeur par défaut, vous verrez aussi le texte en face du nom du champ.
Mettez la valeur que vous désirez, puis cliquez sur "envoyer" en bas de la page.
Puis rendez vous sur un de vos sujet et sous la date d'inscription, vous devriez voir votre nouveau champ "test" avec en face la valeur que vous venez de mettre.
Voilà vous avez un champ de profil personnalisé.
Pour ne plus montrer ce champ, il suffit de mettre NON en face de "Autoriser les styles à afficher les champs personnalisés dans la liste des membres" depuis le panneau d'administration, onglet "Général", "Paramètres de charge".
Si vous cliquez sur votre nom, vous aller arriver sur la page de votre profil.
Là aussi vous devriez voir en haut de page, sous le "Groupes d’utilisateurs", votre nouveau champ personnalisé.
Pour ne plus montrer ce champ, il suffit de mettre NON en face de "Afficher les champs personnalisés dans les profils d’utilisateur" depuis le panneau d'administration, onglet "Général", "Paramètres de charge".
NB: Tant que vous n'aurez pas validé le profil dans votre panneau utilisateur, onglet profil, le champ n'apparaitra pas dans les sujets et dans le profil des membres. Il faut obligatoirement valider votre profil pour le mettre à jour.
3- Afficher le champ dans la liste des membres.
- Cette partie là est un peu plus compliqué et demande de modifier le code.
- Code: Tout sélectionner
'SORT_POST_COUNT' => 'Nombre de messages',
- Code: Tout sélectionner
'TEST' => 'Mon champ test',
- Code: Tout sélectionner
<th><a href="{U_SORT_POSTS}#memberlist">{L_POSTS}</a></th>
- Code: Tout sélectionner
<th>{L_TEST}</th>
- Code: Tout sélectionner
<td class="posts"><!-- IF memberrow.POSTS --><a href="{memberrow.U_SEARCH_USER}" title="{L_SEARCH_USER_POSTS}">{memberrow.POSTS}</a><!-- ELSE -->{memberrow.POSTS}<!-- ENDIF --></td>
- Code: Tout sélectionner
<td><!-- IF memberrow.PROFILE_TEST_VALUE -->{memberrow.PROFILE_TEST_VALUE}<!-- ELSE --> <!-- ENDIF --></td>
- Code: Tout sélectionner
<td class="posts"><!-- IF memberrow.PROFILE_TOTO_VALUE -->{memberrow.PROFILE_TOTO_VALUE}<!-- ELSE --> <!-- ENDIF --></td>
Tout d'abord nous allons rajouter la clé de langue pour votre champ personnalisé.
Pour cela il faut:
ouvrir /language/fr/memberlist.php
chercher:
aprés rajouter
Remarque: Dans le cas du tutoriel, la clé de langue est "test", donc je l'ai placé dans l'ordre alphabétique, mais dans l'absolu, vous pouvez placez la clé de langue ou vous voulez
Puis enregistrez le fichier en UTF8 SANS BOM.
Pour ceci utilisez notepad++ pour ouvrir le fichier, puis sous le menu "format" vous cliquez sur "convertir UTF8 (sans BOM) puis vous sauvegardez.
Pour information, TOUS les fichiers de langue doivent être encodé dans ce format, et de même pour les fichiers html.
Ensuite, nous allons modifier l'affichage de la liste des membres (J'ai décidé de placer l'affichage après le nombre de message, mais après à vous de voir si vous voulez le placer ailleurs, il suffira de déplacer les lignes à insérer ci-dessous.)
Pour cela il faut:
ouvrir /style/{votre_style}/template/memberlist_body.html
chercher (Attention, il y a deux lignes, c'est a faire sur la première ligne au environ de la ligne 83)
aprés ajouter
(Si votre clé de langue est différente et s'appelle toto par exemple, vous mettrez L_TOTO à la place

puis chercher:
et après ajouter:
Notez bien que les noms des champs personnalisés sont en MAJUSCULES et sont identiques au nom que vous avez donné au champ lors de sa création. (voir explication du point 2 à la deuxième image au dessus). Vous savez maintenant pourquoi il vaut mieux utiliser des identifications de champ simple

Si par exemple votre champ personnalisé s'appelle toto il faudra mettre:
Puis sous votre panneau d'administration, onglet "Général", cliquez sur "Exécuter maintenant" en face de "vider le cache".
Puis il vous suffit de cliquer sur "Membres" en haut de votre forum pour voir la nouvelle colonne apparaitre avec les champs personnalisés.
4- Aller plus loin dans l'affichage des champs personnalisés
Maintenant que nous avons vu comment afficher tout cela, il peut y avoir quelques améliorations à faire suivant vos goûts.
- A- Centrer le champ personnalisé dans la liste des membres
- Code: Tout sélectionner
table.table1 .info { text-align: left; width: 30%; }
- Code: Tout sélectionner
table.table1 .champ { text-align: center; }
- Code: Tout sélectionner
<td><!-- IF memberrow.PROFILE_TEST_VALUE -->{memberrow.PROFILE_TEST_VALUE}<!-- ELSE --> <!-- ENDIF --></td>
- Code: Tout sélectionner
<td class="champ"><!-- IF memberrow.PROFILE_TEST_VALUE -->{memberrow.PROFILE_TEST_VALUE}<!-- ELSE --> <!-- ENDIF --></td>
- Code: Tout sélectionner
<!-- BEGIN custom_fields --><dt>{custom_fields.PROFILE_FIELD_NAME}:</dt> <dd>{custom_fields.PROFILE_FIELD_VALUE}</dd><!-- END custom_fields -->
- Code: Tout sélectionner
<!-- BEGIN custom_fields --><!-- <dt>{custom_fields.PROFILE_FIELD_NAME}:</dt> <dd>{custom_fields.PROFILE_FIELD_VALUE}</dd> --><!-- END custom_fields -->
- Code: Tout sélectionner
<!-- IF U_JABBER and S_JABBER_ENABLED --><dt>{L_JABBER}:</dt> <dd><a href="{U_JABBER}" onclick="popup(this.href, 550, 320); return false;">{L_SEND_JABBER_MESSAGE}</a></dd><!-- ELSEIF USER_JABBER --><dt>{L_JABBER}:</dt> <dd>{USER_JABBER}</dd><!-- ENDIF -->
- Code: Tout sélectionner
<!-- BEGIN custom_fields -->
<!-- IF postrow.custom_fields.PROFILE_FIELD_NAME eq "test" --><dt>{postrow.custom_fields.PROFILE_FIELD_NAME}:</dt> <dd>{postrow.custom_fields.PROFILE_FIELD_VALUE}</dd><!-- ENDIF -->
<!-- END custom_fields -->- Code: Tout sélectionner
<!-- END custom_fields -->
- Code: Tout sélectionner
<!-- IF postrow.custom_fields.PROFILE_FIELD_NAME eq "toto" --><dt>{postrow.custom_fields.PROFILE_FIELD_NAME}:</dt> <dd>{postrow.custom_fields.PROFILE_FIELD_VALUE}</dd><!-- ENDIF -->
- Code: Tout sélectionner
<!-- BEGIN custom_fields -->
<dd><strong>{postrow.custom_fields.PROFILE_FIELD_NAME}:</strong> {postrow.custom_fields.PROFILE_FIELD_VALUE}</dd>
<!-- END custom_fields -->- Code: Tout sélectionner
<!-- BEGIN custom_fields -->
<!-- <dd><strong>{postrow.custom_fields.PROFILE_FIELD_NAME}:</strong> {postrow.custom_fields.PROFILE_FIELD_VALUE}</dd> -->
<!-- END custom_fields -->- Code: Tout sélectionner
<!-- IF postrow.POSTER_POSTS != '' --><dd><strong>{L_POSTS}:</strong> {postrow.POSTER_POSTS}</dd><!-- ENDIF -->
- Code: Tout sélectionner
<!-- IF postrow.S_PROFILE_TEST -->
<dd><strong>{postrow.PROFILE_TEST_NAME}:</strong> {postrow.PROFILE_TEST_VALUE}</dd>
<!-- ENDIF -->
Pour cela nous allons créer une classe particulière que nous appellerons champ et que nous mettrons sur le champ personnalisé.
Ouvrir /style/{votre_style}/theme/common.css
chercher (environ ligne 399)
aprés ajouter:
Puis ouvrir /style/{votre_style}/template/memberlist_body.html
chercher:
remplacer par:
Une fois cela fait, allez sous le panneau d'administration, onglet style, puis cliquez sur thème dans le menu de gauche, et "rafraichir" en face du nom de votre style.
Puis cliquez sur l'onglet "Général", et cliquez sur "Exécuter maintenant" en face de "Vider le cache".
Voilà maintenant votre champ est centré dans votre liste de membre.
B- Déplacer le champ personnalisé dans le profil général du membre
Comme nous l'avons vu au point 2, le champ personnalisé apparait sous le groupe, en haut de la page de profil.
C'est une bonne chose, mais il est possible que vous le préfériez sous le bloc (site internet, MP, ...).
Cela se passe en deux temps:
Premièrement on désactive l'affichage du champ personnalisé du haut du profile.
Pour se faire, ouvrir /style/{votre_style}/template/memberlist_view.html
chercher:
remplacer par
Puis nous allons replacer le champ personnalisé dans le bloc de gauche:
Toujours dans le même fichier, chercher:
Après ajouter:
Et bien sur il faut vider le cache du forum (comme pour toute manipulation sur un fichier html) pour voir apparaitre les modifications. Mais bon ça vous commencez à le savoir maintenant

Explication: On rajoute un bloc pour tous les champs de profils personnalisé. La structure est la même pour tous les champs que vous voudrez rajouter.
Si vous avez un deuxième champ toto à rajouter, il faudra mettre juste avant le
NOTEZ BIEN QUE LES MAJUSCULES/MINUSCULES ONT LEUR IMPORTANCE !!!
Si vous avez appelé votre champ test ne mettez pas TEST.
Comme nous n'avons plus d'affichage global de vos champs personnalisé, il faudra rajouter ce code pour chacun de vos champ personnalisé, sinon, il n'apparaitrons pas.

C- Déplacer le champ personnalisé dans le sujet
La aussi il est possible de mettre un champ personnalisé ailleurs qu'à la fin de la liste de votre profil.
Admettons que nous voulions mettre notre champ personnalisé entre "messages" et "inscriptions" dans la liste sous votre avatar. Là aussi cela se passe en deux temps.
Premièrement on désactive l'affichage global.
ouvrir /styles/{VOTRE_STYLE}/template/viewtopic_body.html
chercher:
remplacez par:
puis chercher:
aprés rajouter:
ATTENTION: Ici, contrairement au cas précédent, le nom du champ DOIT ÊTRE EN MAJUSCULES et ce même si vous avez donné un nom en minuscules lors de la création du champ.
Puis videz le cache et maintenant votre champ est entre "Messages" et "Inscriptions".
Et la aussi ce bloc est à répéter autant de fois que vous avez de champ de profil personnalisé.