AccueilFAQRechercherMembresGroupesS'enregistrerConnexion

Forum de graphisme, codage et game design proposant des tutoriels, astuces, libres services et commandes dans les domaines de l'infographie amateur, de l'intégration web (HTML et CSS essentiellement) ainsi que dans la conception de RPG sur forum.


    Dynamiser la page "Membres"

    Partagez
    avatar
    Hiro'
    MasculinAge : 20Messages : 127

    le Sam 21 Sep 2013 - 14:24

    Rappel du premier message :



    Bonjour tout le monde !
    Aujourd'hui, je vous propose mon premier tutoriel. Il servira à dynamiser la page membres de votre forum.
    Ce n'est pas forcément un tuto très utile en soi, mais le réaliser m'a permis de comprendre un peu mieux les templates.

    À noter que ce tuto est fait pour la version de forum PhpBB2.

    Ce tuto nécessite la modification des templates et de la fiche de style CSS. Vous devez donc être administrateur fondateur.
    Ce tuto est valable pour un forum avec des avatars aux dimensions 200*400. En cas de problème pour le personnaliser, je suis à votre écoute.


    Merci à Sparrow à qui j'ai subtilisé le code CSS qu'il utilise ici.


    Première partie : Templates.

    Le template à utiliser est le memberlist_body

    La partie qui nous intéresse est celle-ci :
    Code:
    <td class="{memberrow.ROW_CLASS}" align="center"><div class="avatar mini"><a href="{memberrow.U_VIEWPROFILE}">{memberrow.AVATAR_IMG}</a></div></td>
    Elle se trouve à la ligne 39. Supprimez tout ce qui se trouve entre les balises < td >, soit ceci :

    Code:
    <div class="avatar mini"><a href="{memberrow.U_VIEWPROFILE}">{memberrow.AVATAR_IMG}</a></div>
    Qu'est-ce que j'ai supprimé ?
    Vous avez supprimé le contenu de la case réservée à l'avatar. Nous allons très vite le remplacer.


    Voilà le code que vous allez ajouter à la place de ce code.
    Code:
    <div class="description3"><div style="display: block; text-align: center; width: 200px; height:400px; overflow:visible;">{memberrow.AVATAR_IMG}<div class="description3_contenu" style="margin-top:-400px;"><div style="OVERFLOW: auto; width: 190px; height: 390px; padding: 5px;font-variant:small-caps; text-shadow:1px 1px 1px white; font-size:14px;"><br />{memberrow.USERNAME}.<br />{memberrow.POSTS} messages.<br />Inscrit le {memberrow.JOINED}.</div></div></div></div>
    Examinons ceci en détail.
    Kézako ?

    • {memberrow.AVATAR_IMG} est l'avatar du membre.
    • {memberrow.USERNAME} est le pseudo du membre.
    • {memberrow.POSTS} est le nombre de posts du membre.
    • {memberrow.JOINED} est la date d'inscription du membre.



    Ce qui est contenu entre :
    Code:
    <div style="OVERFLOW: auto; width: 190px; height: 390px; padding: 5px;font-variant:small-caps; text-shadow:1px 1px 1px white; font-size:14px;">
    et :
    Code:
    </div></div></div></div>
    Est ce qui va apparaître quand la souris passera sur l'avatar.

    Personnaliser
    Vous pouvez donc mettre ce que vous voulez. Cependant, ce tutoriel d'adaptera au résultat montré plus haut. Mais je suis ouvert à toutes vos questions si vous avez du mal à personnaliser votre template.


    Le nom du poteur, son nombre de messages et sa date d'inscription sont donc affichés dans la case Avatar. Inutile de les afficher à nouveau dans les autres cases. Il faut donc supprimer la colonne "nombre de messages", la colonne "pseudo" et la colonne "date d'inscription".

    Repérez cette partie-là :

    Code:
    <table class="forumline" width="100%" border="0" cellspacing="1" cellpadding="0">
       <tr>
          <th class="thCornerL" nowrap="nowrap" height="25">#</th>
          <th class="thTop" nowrap="nowrap">{L_AVATAR}</th>
          <th class="thTop" nowrap="nowrap">{L_USERNAME}</th>
          <!-- BEGIN switch_th_group -->
          <th class="thTop" nowrap="nowrap">{L_GROUPS}</th>
          <!-- END switch_th_group -->
          <th class="thTop" nowrap="nowrap">{L_INTERESTS}</th>
          <th class="thTop" nowrap="nowrap">{L_JOINED}</th>
          <th class="thTop" nowrap="nowrap">{L_VISITED}</th>
          <th class="thTop" nowrap="nowrap">{L_POSTS}</th>
          <th class="thTop" nowrap="nowrap">{L_PM}</th>
          <th class="thCornerR" nowrap="nowrap">{L_WEBSITE}</th>
       </tr>
       <!-- BEGIN memberrow -->
       <tr>
          <td class="{memberrow.ROW_CLASS}" align="center"><span class="gen"> {memberrow.ROW_NUMBER} </span></td>
          <td class="{memberrow.ROW_CLASS}" align="center"><div class="avatar mini"><a href="{memberrow.U_VIEWPROFILE}">{memberrow.AVATAR_IMG}</a></div></td>
          <td class="{memberrow.ROW_CLASS}" align="center"><span class="gen"><a class="gen" href="{memberrow.U_VIEWPROFILE}">{memberrow.USERNAME}</a></span></td>
          <!-- BEGIN switch_td_group -->
          <td class="{memberrow.ROW_CLASS}" align="center"><span class="gen">{memberrow.GROUPS}</span></td>
          <!-- END switch_td_group -->
          <td class="{memberrow.ROW_CLASS}" align="center" valign="middle"><span class="gen">{memberrow.INTERESTS}</span></td>
          <td class="{memberrow.ROW_CLASS}" align="center" valign="middle"><span class="gensmall">{memberrow.JOINED}</span></td>
          <td class="{memberrow.ROW_CLASS}" align="center" valign="middle"><span class="gensmall">{memberrow.LASTVISIT}</span></td>
          <td class="{memberrow.ROW_CLASS}" align="center" valign="middle"><span class="gen">{memberrow.POSTS}</span></td>
          <td class="{memberrow.ROW_CLASS}" align="center"> {memberrow.PM_IMG} </td>
          <td class="{memberrow.ROW_CLASS}" align="center"> {memberrow.WWW_IMG} </td>
       </tr>
       <!-- END memberrow -->
       <!-- BEGIN switch_no_user -->
       <tr>
          <td class="catBottom" colspan="{switch_no_user.COLSPAN_NUMBER}" height="28" align="center"><span class="gensmall">{switch_no_user.L_NO_USER}</span></td>
       </tr>
       <!-- END switch_no_user -->
    </table>
    La première partie du code (c'est-à-dire jusqu'à ), c'est celle qui donne les titres des colonnes. Vous pouvez certainement les identifier facilement.


    Kézako ?

    • {L_AVATAR} affichera "Avatar",
    • {L_USERNAME} affichera "Pseudo",
    • etc.



    Maintenant que nous avons regroupé plusieurs données dans la case avatar nous pouvons les supprimer.

    Les lignes à supprimer sont donc :
    Code:
    <th class="thTop" nowrap="nowrap">{L_USERNAME}</th>
    <th class="thTop" nowrap="nowrap">{L_JOINED}</th>
    <th class="thTop" nowrap="nowrap">{L_JOINED}</th>
    Personnaliser
    Vous pouvez également remplacer le nom de la colonne avatar ({L_AVATAR}) par votre propre appellation. Il suffira de supprimer cette variable et d'y écrire à la place votre appellation, tout simplement.



    Si vous validiez le template à ce moment là, le résultat ne serait pas à la hauteur de vos espérances. En effet, les titres des colonnes auront disparu, mais le contenu de ces colonnes sera resté intact, c'est là qu'intervient la seconde partie du code (c'est-à-dire après ).

    Vous pouvez supprimer les lignes inutiles, à savoir :
    Code:
    <td class="{memberrow.ROW_CLASS}" align="center"><span class="gen"><a class="gen" href="{memberrow.U_VIEWPROFILE}">{memberrow.USERNAME}</a></span></td>

    <td class="{memberrow.ROW_CLASS}" align="center" valign="middle"><span class="gensmall">{memberrow.JOINED}</span></td>

    <td class="{memberrow.ROW_CLASS}" align="center" valign="middle"><span class="gen">{memberrow.POSTS}</span></td>
    Ca y est, votre template est prêt ! Maintenant, attaquons-nous à la partie CSS !


    Deuxième partie : CSS.

    Allez, je sens que vous en avez marre, alors voici le code CSS :
    Code:
    .description3 {
      display: block;
      width: 200px;
      margin: auto;
      height: 200px;
      overflow: hidden;
      transition:0.4s ease;
    }

    .description3:hover {
      display: block;
      width: 200px;
      margin: auto;
      height: 400px;
      overflow: hidden;
    }

    .description3_contenu {
      position: absolute;
      width: 200px;
      height: 400px;
      overflow: 400px;
      background-color: #EFE9DD;
      font-size: 11.5px;
      font-family:'Georgia';
      color: #3E352E;
      text-align: justify;
      padding:0px;
      opacity: 0;
      transform: all;
      transition: 1s;
    }
    .description3_contenu:hover {
      opacity: 0.8;
      transform: all;
      transition: 1s;
    }
    Kézako ?

    • description3 contient l'avatar. Comme au départ, l'avatar est en partie caché, il faut réduire ses dimensions (ici 200*200) et lui mettre un overflow:hiddenpour l'empêcher de dépasser. Ensuite, la partie description3:hover est celle où l'on indique que les dimensions changent au passage de la souris.
    • description3_contenu est ce qui va s'afficher au passage de la souris, ici le nom du membre, son nombre de message et sa date d'inscription. Cependant, il doit être invisible quand la souris n'est pas dessus, d'où le opacity:0 qui le rend totalement transparent. La partie description3_contenu:hover est celle qui va indiquer que au passage de la souris, l'opacity augmentera.



    Vous savez tout ! Ah ? Vous vous êtes perdus en chemin ? Bon, je suis gentil et je vous donne le code terminé.


    Troisième partie : Le code tout fini tout beau.

    Remplacer le contenu du template memberlist_body par celui-ci :

    Code:
    <form action="{S_MODE_ACTION}" method="get">
    <table cellspacing="0" cellpadding="5" border="0" align="center" class="forumline" width="100%">
       <tr>
          <th class="thTop" nowrap="nowrap">{L_ORDER_OR_SELECT}</th>
       </tr>
       <tr>
          <td class="row1">
          <table cellspacing="2" cellpadding="0" border="0" align="center" class="genmed">
             <tr>
                <td width="100%">{L_USER_SELECT} <input type="text" class="post" name="username" maxlength="25" size="20" value="{L_USER_SELECT_VALUE}" />      
                {L_SELECT_SORT_METHOD} {S_MODE_SELECT}      
                {L_ORDER} {S_ORDER_SELECT}      
                {S_HIDDEN_SID}
                <input class="liteoption" type="submit" name="submit" value="{L_SUBMIT}" /></td>
             </tr>
          </table>
          </td>
       </tr>
    </table>
    </form>
    <table class="forumline" width="100%" border="0" cellspacing="1" cellpadding="0">
       <tr>
          <th class="thCornerL" nowrap="nowrap" height="25">#</th>
          <th class="thTop" nowrap="nowrap">Avatar</th>
          <!-- BEGIN switch_th_group -->
          <th class="thTop" nowrap="nowrap">{L_GROUPS}</th>
          <!-- END switch_th_group -->
          <th class="thTop" nowrap="nowrap">{L_INTERESTS}</th>
          <th class="thTop" nowrap="nowrap">{L_VISITED}</th>
          <th class="thTop" nowrap="nowrap">{L_PM}</th>
          <th class="thCornerR" nowrap="nowrap">{L_WEBSITE}</th>
       </tr>
       <!-- BEGIN memberrow -->
       <tr>
          <td class="{memberrow.ROW_CLASS}" align="center"><span class="gen"> {memberrow.ROW_NUMBER} </span></td>
          <td class="{memberrow.ROW_CLASS}" align="center">
                      <div class="description3"><div style="display: block; text-align: center; width: 200px; height:400px; overflow:visible;">{memberrow.AVATAR_IMG}<div class="description3_contenu" style="margin-top:-400px;"><div style="OVERFLOW: auto; width: 190px; height: 390px; padding: 5px;font-variant:small-caps; text-shadow:1px 1px 1px white; font-size:14px;"><br />{memberrow.USERNAME}.<br />{memberrow.POSTS} messages.<br />Inscrit le {memberrow.JOINED}.</div></div></div></div></td>
              
          <!-- BEGIN switch_td_group -->
          <td class="{memberrow.ROW_CLASS}" align="center"><span class="gen">{memberrow.GROUPS}</span></td>
          <!-- END switch_td_group -->
          <td class="{memberrow.ROW_CLASS}" align="center" valign="middle"><span class="gen">{memberrow.INTERESTS}</span></td>
          <td class="{memberrow.ROW_CLASS}" align="center" valign="middle"><span class="gensmall">{memberrow.LASTVISIT}</span></td>
          <td class="{memberrow.ROW_CLASS}" align="center"> {memberrow.PM_IMG} </td>
          <td class="{memberrow.ROW_CLASS}" align="center"> {memberrow.WWW_IMG}&nbsp;</td>
       </tr>
       <!-- END memberrow -->
       <!-- BEGIN switch_no_user -->
       <tr>
          <td class="catBottom" colspan="{switch_no_user.COLSPAN_NUMBER}" height="28" align="center"><span class="gensmall">{switch_no_user.L_NO_USER}</span></td>
       </tr>
       <!-- END switch_no_user -->
    </table>
    <!-- BEGIN switch_pagination -->
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
       <tr>
          <td><span class="nav">{PAGE_NUMBER}</span></td>
          <td align="right"><span class="nav">{PAGINATION}</span></td>
       </tr>
    </table>
    <br />
    <!-- END switch_pagination -->
    Ajoutez ce code à votre feuille de style CSS

    Code:
    .description3 {
      display: block;
      width: 200px;
      margin: auto;
      height: 200px;
      overflow: hidden;
      transition:0.4s ease;
    }

    .description3:hover {
      display: block;
      width: 200px;
      margin: auto;
      height: 400px;
      overflow: hidden;
    }

    .description3_contenu {
      position: absolute;
      width: 200px;
      height: 400px;
      overflow: 400px;
      background-color: #EFE9DD;
      font-size: 11.5px;
      font-family:'Georgia';
      color: #3E352E;
      text-align: justify;
      padding:0px;
      opacity: 0;
      transform: all;
      transition: 1s;
    }
    .description3_contenu:hover {
      opacity: 0.8;
      transform: all;
      transition: 1s;
    }
    Et voilà ! A vous de jouer !




    Pas souvent là, mais je vous aime quand même très fort ! Étudiant en prépa littéraire, quand j'en ai marre de pas comprendre ce que je lis, je code pour ne plus comprendre non plus ce que j'écris.
    avatar
    Sestren
    FémininAge : 25Messages : 33

    le Sam 24 Oct 2015 - 18:10

    Merci ! =)
    avatar
    Araik
    FémininAge : 22Messages : 249

    le Dim 25 Oct 2015 - 15:36

    Tutoriel intéressant je vais tester pour mon forum. Merci



    avatar
    Ivelyne
    FémininAge : 25Messages : 45

    le Mar 27 Oct 2015 - 17:02

    Merci :)
    avatar
    calipsto
    FémininAge : 20Messages : 8

    le Mar 3 Nov 2015 - 1:46

    thx pour le partage ♥
    avatar
    LadyAither
    FémininAge : 23Messages : 44

    le Mar 3 Nov 2015 - 14:22

    Merci pour le partage !
    avatar
    Silver Angel
    MasculinAge : 102Messages : 81

    le Mer 4 Nov 2015 - 15:35

    Curiosité oblige : Merci Wink
    avatar
    Tayu
    FémininAge : 22Messages : 10

    le Ven 6 Nov 2015 - 11:30

    Merci ~
    Quand je créerais ma PA (avec votre aide) je n'oublierais pas de vous remercier au passage !
    avatar
    Sparryx
    MasculinAge : 15Messages : 71

    le Dim 8 Nov 2015 - 16:35

    Merci =)
    avatar
    Coldness
    FémininAge : 14Messages : 51

    le Dim 8 Nov 2015 - 17:36

    Merci du partage ^o^
    avatar
    Chlirr
    FémininAge : 29Messages : 63

    le Jeu 12 Nov 2015 - 15:56

    Merci :d
    avatar
    Chlirr
    FémininAge : 29Messages : 63

    le Jeu 12 Nov 2015 - 17:50

    Le post est un peu vieux mais j'avais quand même une question

    pour mettre cette partie en forme par le css, c'est à dire de mettre les mêmes couleurs que les catégories par exple.
    C'est quoi le bon code ou class pour le css svp?
    avatar
    liliebia
    FémininAge : 29Messages : 64

    le Sam 14 Nov 2015 - 15:09

    Merci!
    avatar
    SvenO
    MasculinAge : 23Messages : 78

    le Dim 15 Nov 2015 - 15:09

    Merci ! Very Happy



    avatar
    Valinwë
    FémininAge : 26Messages : 120

    le Dim 15 Nov 2015 - 17:02

    J'avoue que je suis curieuse ! Merci.



    avatar
    Lokiaryu
    FémininAge : 21Messages : 105

    le Dim 15 Nov 2015 - 17:15

    Je suis curieuse ^^ merci !
    avatar
    Seoki
    FémininAge : 22Messages : 7

    le Mer 18 Nov 2015 - 16:11

    Je suis curieuse, merci =)
    avatar
    Chanaël.S
    FémininAge : 30Messages : 15

    le Mer 18 Nov 2015 - 22:33

    Bonsoir !

    Merci du partage, je vais voir ce que ça donne.



    avatar
    Srukan
    MasculinAge : 21Messages : 7

    le Jeu 19 Nov 2015 - 3:08

    Merci :)
    avatar
    lea-angels
    FémininAge : 17Messages : 17

    le Jeu 19 Nov 2015 - 14:53

    Merci beaucoup !
    avatar
    Heiwa
    FémininAge : 16Messages : 9

    le Dim 6 Déc 2015 - 17:46

    Merci. :3
    avatar
    Mahogany
    FémininAge : 24Messages : 53

    le Sam 12 Déc 2015 - 17:56

    Merciiii!
    avatar
    Kamesora
    FémininAge : 25Messages : 90

    le Mer 16 Déc 2015 - 22:00

    thx <3
    avatar
    Raeden Liddell
    MasculinAge : 25Messages : 177

    le Mer 23 Déc 2015 - 21:04

    Merci beaucoup
    avatar
    Yttel
    MasculinAge : 35Messages : 29

    le Dim 24 Jan 2016 - 23:32

    Merci
    avatar
    Elocha
    FémininAge : 67Messages : 255

    le Lun 25 Jan 2016 - 9:58

    merci !



    eLoChA.
    Contenu sponsorisé


      La date/heure actuelle est Jeu 23 Nov 2017 - 2:43