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.


    [Template, CSS, Javascript] Créer sa propre barre de navigation

    Partagez
    avatar
    Eraendil
    FémininAge : 26Messages : 92

    le Ven 17 Aoû 2012 - 23:21

    Rappel du premier message :



    Bonjour !

    Me voici avec un tutoriel vous permettant de complètement modifier votre barre de navigation.

    IMPORTANT :

    Tout d'abord, remercions l'auteur original du tutoriel : Miettes de School of Progress.
    Lien vers son tutoriel : ici


    Par respect pour son travail, j'utiliserai mes propres codes pour ce tutoriel, afin d'obtenir ce résultat.

    Le principe de ce tutoriel est de recréer la barre de navigation dans votre template, utiliser le css pour la mettre en forme, et la bibliothèque JQuery de Javascript pour le bouton MP.
    1- Création de la barre dans le template

    Commençons par le début : ouvrez votre template overall_header et repérez la partie suivante (ligne 265) :
    Code:
    <table cellspacing="0" cellpadding="0" border="0" align="{MENU_POSITION}">
     <tr>
     <td align="{MENU_POSITION}"{MENU_NOWRAP}>{GENERATED_NAV_BAR}</td>
     </tr>
    </table>

    Ce tableau est celui entourant la barre de navigation prédéfinie par forumactif. Supprimez-le, seul {GENERATED_NAV_BAR} nous intéresse.

    L'étape suivante est de choisir l'emplacement de votre barre de navigation. Pour ma part, il s'agit d'une barre fixe située en haut de la page. Je vais donc mettre mon code après la ligne 201 :
    Code:
    <body background="{T_BODY_BACKGROUND}" bgcolor="{T_BODY_BGCOLOR}" text="{T_BODY_TEXT}" link="{T_BODY_LINK}" vlink="{T_BODY_VLINK}">

    Maintenant, commençons le code de la barre de navigation. Tout d'abord, il est nécessaire de poser une
    cachée contenant la barre de base afin d'en récupérer les informations. Comme cela :
    Code:
    <div style="visibility:hidden">{GENERATED_NAV_BAR}</div>

    Ensuite, il suffit de recréer les liens de la manière suivante :
    Code:
    <a href="URL DE VOTRE FORUM" alt="NOM DU LIEN"><img src="VOTRE IMAGE" /></a>

    Plutôt que de vous embêter à aller partout sur votre forum pour récupérer les liens de la barre, les voici :

    Portail : url de votre forum/
    Accueil (Index) : /forum
    Calendrier : /calendar
    Galerie : /gallery/index.htm
    FAQ : /faq
    Rechercher : /search
    Membres : /memberlist
    Groupes : /groups
    Profil : /profile?mode=editprofile
    Messagerie : /privmsg?folder=inbox
    Inscription : /register
    Connexion : /login
    Déconnexion : /login?logout pour déconnecter directement et /login.forum?logout=true pour accéder à la page de déconnexion


    Vous avez tous vos liens ? Parfait ! Quelques subtilités désormais. En effet, si vous mettez la barre telle quelle, vous verrez tous les liens, et non ceux vous concernant entant qu'utilisateur (normalement, si vous n'êtes pas connectés, vous voyez les liens Inscription et Connexion, et au contraire, vous voyez les liens MP et Déconnexion alors que là vous voyez tout). Pour ces boutons interchangeables, il faut utiliser un peu de Javascript. Pas de soucis, cela se passe directement dans le template et est prédéfini par forumactif. Voilà comment cela se passe :
    Utilisateur connecté :
    Code:
    <!-- BEGIN switch_user_logged_in -->
    Vos liens (MP et Déconnexion normalement, mais plus si vous voulez)
     <!-- END switch_user_logged_in -->

    Utilisateur déconnecté :
    Code:
    <!-- BEGIN switch_user_logged_out -->
    Vos liens (Inscription et Connexion)
     <!-- END switch_user_logged_out -->

    Enfin, une recommandation importante : ajoutez un attribut id dans votre balise img du bouton MP ! Cela va permettre de l'identifier pour la partie JQuery.
    Code:
    <a href="URL/privmsg?folder=inbox" alt="M.P."><img src="URL" id="mp"/></a>

    Si vous vous y connaissez en html et n'avez pas peur d'utiliser les templates, vous avez maintenant tous les éléments pour construire votre propre barre de navigation. Pour les autres, je vous donne mon code :
    Code:
    <!-- BARRE NAVIGATION -->
    <div style="visibility:hidden">{GENERATED_NAV_BAR}</div>
    <div id="bar_nav">
     <div id="bar_nav_standard">
     <a href="/forum" alt="Accueil"><img src="URL" /></a>
     <a href="/faq" alt="F.A.Q."><img src="URL" /></a>
     <a href="/search" alt="Rechercher"><img src="URL" /></a>
     <a href="/memberlist" alt="Membres"><img src="URL" /></a>
     <a href="/groups" alt="Groupes"><img src="URL" /></a>
     <a href="/profile?mode=editprofile" alt="Profil"><img src="URL" /></a>
     </div>
     <div id="bar_nav_modul">
     <!-- BEGIN switch_user_logged_in -->
     <a href="/login?logout" alt="Déconnexion"><img src="URL" /></a><br />
     <a href="/privmsg?folder=inbox" alt="M.P."><img src="URL" id="mp"/></a>
     <!-- END switch_user_logged_in -->
     <!-- BEGIN switch_user_logged_out -->
     <a href="/login" alt="Connexion"><img src="URL" /></a><br />
     <a href="/register" alt="S'inscrire"><img src="URL" /></a>
     <!-- END switch_user_logged_out -->
     </div>
    </div>
    <!-- BARRE NAVIGATION -->


    2- Partie CSS

    Pour ceux qui ont pris mon code, vous pouvez constater que la barre, non contente d'être fixe en haut de la page, prend toute celle-ci. Il s'agit du même fonctionnement que celle donnée par Sparrow-Style dans ce tutoriel. La seule différence est l'utilisation d'un width à 100% qui me permet de lui faire prendre toute la page. Attention cependant : en utilisant ceci, vos boutons vont finir par laisser un vide. Si vous ne voulez pas que cela arrive, pensez au background.
    Code:
    /* BARRE NAVIGATION */

    #bar_nav {
       position: fixed;
       z-index: 999;
       width: 100%;
      top: 0px;
       left: 0px;
       right: 0px;
       background:url('URL DE L'IMAGE') repeat-x;
    }

    #bar_nav_standard {
       float: left;
    }

    #bar_nav_modul {
       float: right;
    }

    Note : L'ombre portée de ma barre vient d'un "bidouillage". Vu la forme de ma barre, utiliser un box-shadow ne marcherait pas (il suivrait les bords de la div et non des images). Cependant si votre barre le permet, n'hésitez pas. Sinon, utilisez Photoshop et des images en .png pour la transparence.



    3- Nouveau MP : JQuery


    Vous avez désormais une belle barre de navigation, fonctionnelle et totalement personnalisée. Seul hic ? Le bouton MP qui ne se transforme pas en Nouveau MP ! L'utilisation du javascript va permettre d'arranger cela. Ouvrez le panneau d'administration et allez dans : Modules -> Gestion des codes javascript -> Créer un nouveau javascript. Là, cochez Sur toutes les pages et collez le code suivant :
    Code:
    jQuery().ready(function(){
            var newmp = $("#i_icon_mini_new_message");
            if(!newmp.length) return;
            $("#mp").attr('src','URL DE L'IMAGE');
    });

    Faites bien attention à la dernière ligne : $("#mp") correspond à l'id que vous avez mis dans votre balise img du bouton MP et attr('src', 'URL DE L'IMAGE') va vous permettre de remplacer l'image par celle correspondant au Nouveau MP.

    Validez, et votre barre de navigation marche sans problème !

    Merci de penser à un petit remerciement à Never Utopia ET School of Pub si vous utilisez ce tutoriel pour votre forum !

    Merci de laisser un message pour donner vos impressions, commentaires et/ou remerciements ^^



    avatar
    LeMonarque
    MasculinAge : 32Messages : 26

    le Sam 13 Aoû 2016 - 12:22

    Merci
    avatar
    missp
    FémininAge : 28Messages : 26

    le Lun 15 Aoû 2016 - 13:04

    merci
    avatar
    Kâ Lys
    MasculinAge : 56Messages : 299

    le Ven 19 Aoû 2016 - 3:14

    Merci



    avatar
    Vetrox
    MasculinAge : 18Messages : 37

    le Sam 20 Aoû 2016 - 20:55

    merci
    avatar
    Demowee
    MasculinAge : 22Messages : 43

    le Lun 29 Aoû 2016 - 23:25

    Merci, ça à l'air très sympas !
    avatar
    charly45700
    MasculinAge : 22Messages : 30

    le Ven 2 Sep 2016 - 21:32

    merci
    avatar
    Nyroc
    MasculinAge : 16Messages : 57

    le Dim 4 Sep 2016 - 20:30

    Merci ^^



    avatar
    Lughnassadh
    FémininAge : 28Messages : 23

    le Sam 10 Sep 2016 - 11:14

    Merci ! J'ai essayé le code de Miettes mais il semble ne fonctionner qu'à moitié sur mon forum, le tien sera peut-être plus concluant :)
    avatar
    AshleyV&WK
    FémininAge : 22Messages : 10

    le Mer 14 Sep 2016 - 13:13

    Oo
    j'adore.
    Merci
    avatar
    Samiro
    MasculinAge : 22Messages : 52

    le Sam 17 Sep 2016 - 12:11

    Gracie
    avatar
    Crazy-Sweet
    FémininAge : 27Messages : 128

    le Mar 20 Sep 2016 - 9:36

    Oh j'adore, merci !



    What if I need you baby?
    I PROMISE THAT ONE DAY I’LL BE AROUND, I’LL KEEP YOU SAFE ! IT'S SUCH A CRUEL WORLD BUT I FOUND SOMETHING GOOD.. ‘CAUSE IN ALL THIS BITTERNESS YOU STAY SO SWEET ...
    avatar
    Wiss
    FémininAge : 14Messages : 53

    le Mer 21 Sep 2016 - 19:43

    Merci !




    Autre signa:
    avatar
    Praecursator
    MasculinAge : 16Messages : 77

    le Jeu 22 Sep 2016 - 15:00

    Depuis le temps que j'en rêvais Very Happy
    avatar
    Ziktaon
    MasculinAge : 26Messages : 843

    le Sam 24 Sep 2016 - 1:02

    Merci






    ‘ Le codage est la logique, Le graphisme est le savoir faire ‘

    Pinke
    FémininAge : 25Messages : 139

    le Dim 23 Avr 2017 - 9:47

    Merci !
    avatar
    Toxinou
    FémininAge : 27Messages : 39

    le Sam 28 Oct 2017 - 12:54

    Merci :)
    avatar
    Toxinou
    FémininAge : 27Messages : 39

    le Sam 15 Déc 2018 - 14:59

    c'est super, merci !
    Contenu sponsorisé


      La date/heure actuelle est Jeu 17 Jan 2019 - 0:34