Ce que je veux :
Une barre horizontale, placée immédiatement sous le top et présentant des liens vers diverses parties de mon blog qu'il me semble utile de rendre directement accessibles.
Plutôt que de faire un tuto général, je préfère vous en livrer un exemple commenté. On trouve sur le web plusieurs sites offrant des modèles, j'en retiendrais deux :
- Alsacréations, dont la fréquentation est en tout état de cause recommandée pour ses nombreux tutoriels et son forum.
- listamatic, chez css.maxdesign, également à placer dans vos signets.
Pour ma part, j'ai retenu Centred list navbar updated, un menu de Chris Hester pour Listamatic, que j'ai ensuite arrangé à ma sauce.
La source
Ordonques, puisqu'on veut le placer sur toutes les pages du blog sous le
titre et qu'on connaît par cœur les radiographies, on sait qu'on doit édier le
fichier _top.html
n'est-ce pas ? Editons-le donc ajoutons à
la fin du fichier ces liens sous forme de liste :
À noter :
est une fonction template qui
affiche ce que vous avez indiqué dans les Paramètres du blog, champ URL vers le
blog.tpl:BlogURL
<ul id="nav-box"> <li><a href="{{tpl:BlogURL}}">Accueil</a></li> <li><a href="{{tpl:BlogURL}}archive" title="Liste des mois de publication">Archives</a></li> <li><a href="{{tpl:BlogURL}}contact" title="Formulaire de contact">Me contacter</a></li> </ul>
Quelques précisions :
- Si vous êtes grand débutant, je vous recommande cette lecture pour comprendre les balises html employées ici.
- Par souci de clarté, j'ai présenté la liste en retournant à la ligne pour chaque item, mais en fait il faut tout enchaîner pour faire face à un bug d'Internet Explorer lorsqu'il doit aligner des liens sur la même ligne.
Et maintenant la feuille de style :
/* ------------------------------------------------------------------- NAVIGATION HORIZONTALE ------------------------------------------------------------------- */ /* Paramètres généraux de la liste (ul). Toujours mes marges à zéro, * le padding (marge intérieure) servira à dégager le texte en haut et en * bas de 5 pixels tout en le décollant également de 1em du bord droit * ce dernier point est indispensable pour Internet Explorer, comme on * le verra pour ul#nav-box li a { }. * list-style-type : none; déclare que je ne place pas de puces devant * chaque item. */ ul#nav-box { margin : 0 0 1.5em 0; padding : 5px 1em 5px 0; list-style-type : none; background-color: #cc0; color: #4b4b69; font-weight : bold; font-size : 0.9em; text-align: right; } /* Paramètres des items. display : inline; donne comme instruction de ne * pas faire de saut de ligne pour chaque item. Je redonne également une * marge intérieure haute et basse de 5 pixels pour que les items occupent * toute la place verticale créée pour la liste */ ul#nav-box li { display: inline; padding : 5px 0; } /* On retrouve le padding haut et bas de 5 pixels (car sinon Internet Explorer * va n'en faire qu'à sa tête) et j'ajoute un espace latéral de 1em de chaque * côté des liens. J'indique également la couleur des caractères des liens et je * place un bord gauche continu et blanc de 1 pixel de large. text-decoration : * none; indique que je ne veux pas que les liens soient soulignés (ce qui serait * le cas par défaut. */ ul#nav-box li a { padding : 5px 1em 5px 1em; color: #4b4b69; text-decoration: none; border-left: 1px solid #fff; } /* Ici, ce qui se passe au survol des liens : changement de la couleur du fond, * de la couleur des caractères, je n'oublie pas de remettre à ce lien survolé le * bord gauche que j'ai défini pour les liens « au repos ». */ ul#nav-box li a:hover { background-color: #4b4b69; color: #d9d940; border-left: 1px solid #fff; }
Voilà, vous savez tout sur la réalisation de cette petite barrette logée sous le top à voir sur le Petit Dotclear illustré. Attention : il ne faut pas oublier de donner au top une marge inférieure égale à 0 pour que cette barre soit collée juste en dessous.
Commentaires
Eh eh, on dirait qu'on a eu la même idée... c'est exactement ce que j'ai fait sur mon dernier thème...
ah oui, je viens d'aller voir ! (foutus agrégateurs) et c'est le même genre de code ou c'est encore une autre formule ?
C'est le même genre et ça vient de The BigBlogCompany.... copier/coller et upload image uhuhu
ça fait chouette !petite question : peux-tu nous expliquer les lignes <a href="<?php dcInfo('url'); ?>">Accueil</a>Comment cela fonctionne-t-il ?
<?php dcInfo('url'); ?>
est l'instruction qui envoie l'url du blog. Tout nu, ça donne ici, au premier lien par exemplehttp://petit.dotclear.net/
Donc, dans la deuxième ligne, ça donnera
http://petit.dotclear.net/somcat
(en l'occurence l'adresse de la page related contenant le sommaire).Aaah, OK, compris !
Merci, ce billet m'a bien servi.
Je l'ai utilisé pour afficher les catégories :
dans template.php, juste en dessous de <a href="#search">Aller à la recherche</a></ <!
barre de navigation horizontale>avec la meme css, me permet d'avoir un menu pour la liste des catégories dynamique.
Oui, c'est tout à fait le genre d'utilisation possible. Une autre (je ferai peut-être une petite note spécifique) application serait parfaite avec la liste des pages annexes.
Bonjour Kozlika (Petite chèvre) :)
Merci... grâce à tes bons conseils j'ai été en mesure de transférer sans problème mon site d'un hégeur à un autre..
J'ai tenté d'insataller cette barre de navigation mais le résultat n'a pas été très probant puisque celle-ci chevauchait mon horloge flash et la «pagination» (d'ailleur la pagination est trop haute... les chiffes «chevauchent» presque le titre du blogue)Pourrais-tu m'éclairer sur les causes de ce petit problème ? Est-ce à cause de mon titre sur 2 lignes ? De la configuration du thème Keepsake et de son extra html ?
@+
A[lain Toxicoquebec.com/actus/|http://www.toxicoquebec.com/actus/|fr]
C'est une superbe idée ^^
Par contre je n'arrive pas à mettre en lien les catégories...
C'est à dire, jusqu'à présent j'avais pour Catégories :
Menu (Catégories) :
News Blog ...etc
Et donc là je ne sais pas comment faire appel à par exemple "News" provenant de mon menu...
La perseverance a du bon :)
J'ai finalement trouvé toute seule. Le pire c'est que la réponse était dans ton code. Mais comme je cherche tjs compliqué ^^...
Bonsoir,
Je m'interroge sur la manière de ne pas faire apparaître deux fois la même catégorie !
1 fois dans la barre Horizontale puis une seconde fois dans la navigation "normale" par défaut de Dotclear !
Bien sûre si il s'agit de lien vers d'autres pages que Dotclear ou certains billets sélectionnés, je comprends mais pour les catégories ... dur dur...
Merci ...
Couster, la fonction qui affiche la liste des catégories dans le sidebar est :
<?php dcCatList(); ?>
qui produit une liste non ordonnée. Libre à toi d'enlever l'appel à cette fonction et de construire ta liste toi-même en n'y plaçant pas la catégorie que tu as déjà dans le menu horizontal.
C'est bizarre...
ici, la barre horizontale s'affiche très bien...
mais quand je la teste en local, il y a un petit décalage entre le remplissage bleu au survol de la souris et la bordure blanche de droite : une petite zone entre les deux reste verte.
Ah, j'ai trouvé tout seul ;-)
J'étais retourné à la ligne pour chaque balise <li> et visiblement ça plaisait pas à Firefox.
Avant tout, merci beaucoup pour le petit Dotclear illustré c'est excellent! je n'y connais rien pourtant j'arrive à faire des trucs.
Bon comme je suis pas encore au point, j'ai un petit souci pour coller la barre de menu à l'image du haut. et je trouve pas où il faut mettre le marge à 0!
Help svp!!
Merci.
Tes marges sont bonnes, c'est la hauteur de ton #top qui est supérieure à celle de ton image, ce qui crée un blanc en dessous et/ou mettre le padding-top et le padding-bottom de #top à 0.
Merci Kozlika pour ton aide.
Une dernière chose. J'aimerais afficher mes catégories dans la barre de navig, de façon chouette.
J'ai lu qq part que c'est possible de faire un menu déroulant. T'aurais une idée du code pour faire ça?
En tt cas tout ce que je fais est laid pour l'instant, ma barre double de largeur...
Merci pour l'aide!
Oui c'est tout à fait possible. Marc de Marcarea Weblog en propose un sur son site. Il faudra cependant que tu vérifies qu'il est compatible avec tous les navigateurs (je pense en particulier à cette $¨ù£$€ de Internet Explorer...
IM-PE-CABLE !!! Rien d'autre à dire. Bien expliqué, super facile à suivre et à installer. Ça marche au premier coup. Merci Beaucoup.
Sans parler du site
... ça sent le "Môssieur Propre" ;-)Merci Richard :)
Bonjour,
je souhaiterai forcer les liens à s'ouvrir dans un autre onglet (sous firefox par ex), histoire de garder ma page d'acceuil sous la main.
Question : est-il possible d'intégrer dans <li><a href="<?php dcInfo('url'); ?>">Accueil</a></li> un code qui pourrai faire ça?
merci par avance
etto: <li><a href="<?php dcInfo('url'); ?>" onclick="window.open(this.href);return false;">Accueil</a></li>
Ciao!
Heya Kolzika,
Cette fois-ci, c'est ici que je post :-)
J'ai fait tout comme il fallait (même les lignes pour la source à cause d'IE) ça rendait bien sur Seamonkey et quand j'ai voulu regarder sur IE....Putain le chantier !!!!! La Sidebar à gauche chez moi se retrouvait tout en bas du dernier billet (à gauche quand même), vl'a le décalge !!!!!!
Je me suis dit , je vais chercher une réponse sur le forum, mais avant je vais tout enlever parce que c vraiment pas beau. Ben c toujours pareil , après avoir tout enlevé :-(((((((( Bouhaaaaaaaa !!!!!!
Ti peu m'aider ?
Caribou, rien à voir avec la navigation horizontale. Dans ta feuille de style, retire la ligne margin-left:-25px; de la règle de day-date et ça devrait déjà aller booocoup mieux. ;-)
Même le Week , tu es de permanence ;) !!!! , respect....Kolzika for ever. !!!!
Mais hélas, j'ai enlevé la ligne, effectivement la date n'était plus coupé mais ça ne m'a pas fait remonté la sidebar en haut de la page. J'ai remis la nav Horizontale, au cas ou tu jetterais un coup d'oeil. C'est nikel sur SM mais IE ça chie tjs.
Apluche ;)
Deuxième étape : retire ton bloc en haut du sidebar. Je parie que ça fonctionne non ? C'est dû à ton image qui "déborde" de la largeur allouée au sidebar, d'autant que tu l'as placée comme un item de liste, ce qui crée une marge gauche. Plus globalement d'ailleurs le code que tu as mis dans cette boîte n'est pas "propre" : on ne pose pas des <span> tout seuls, encore moins avec des <br /> en plein milieu.
Ha yé c fait , tu avais raison.....
j'ai enlevé le <ul> et le <li> et laissé la ligne de l'image et tout marche bien , super nickel......
Par contre j'ai pas compris le truc des <span> et <br> en plein milieu.....
En tout cas Merci vraiment beaucoup et surement à bientôt, parce que j'aurai pleins d'autres questions ;)
Amicalement,
Hello, D'abort merci pour ce site ! sans lequel je serai encore en train de me poser des questions methaphysiques... En mettant en pratique les indications pour un menu horizontal, tout se passe à merveille, sauf que "a.active" ne mémorise pas dans le menu l'état actif. Est-ce qu'il faut rajouter quelque chose dans le css ou le template ? (PS: ce blog n'est pas en ligne) Merci d'avance pour toute réponse !
Quelqu'un a une idée finalement pour le active ? Merci d'avance ;)
Zisco et Fanch, il faut en passer par des tests sur la page affichée dans le code source.
A titre d'exemple, pour placer la classe active sur l'accueil. Le code de base.
Dans la balise
a
on ajoute le test :Quelques autres tests à insérer à la place de celui-ci :
Pour une page connexe :
A titre d'exemple, le menu de mon blog perso (attention le code est indigeste, copiez-collez-le chez vous pour le regarder tranquillement :
Ouf ;-)
Bonjour et bravo pour cet excellent tutoriel. Je tente en vain de faire disparaitre le soulignage de mes liens dans la barre hoizontale en intégrant dans la feuille de style text-decoration: none; ou text-decoration: normal; mais le soulagnage reste. Quelqu'un a-t-il une piste? Merci d'avance
salut
je sais j'ai deja félicité mais en général, quand on est non-voyant, et qu'on touche au css (hop hop hop pas touchez!) en gros on voit pas ce qu'on fait donc on évite.
mais avec ce genre de tutos, je peux dire sans vraiment d'humour (bon si un peu) qu'on fait ca les yeux vermés! a priori, parce que je l'ai pas encore fait, mais franchement, ca a l'air... pfff... OK bon ben tout ca pour dire ... merci encore pour ces tutos tout simples tout mâchés ... lol :)
Sof, merci pour ton message, qui fera énormément plaisir à toute l'équipe :)
salut j'ai testé cette barre de navigation et c'est vraiment tres chouette. j'ai juste rencontré un petit pb. J'ai mis dans ma barre de navigation les categories, et la premiere categorie pose un pb, et je ne sais pas pourquoi... le lien m'envoie vers :
http://animatoon.free.fr/dotclear/<ul><li><a%20href=
alors que ca marche pour les autres categories. voici le code que j'ai mis sur ma page php :
barre de navigation horizontale>ds la page de style.css, j'ai mis ce que vous avez indiqué (+ quelques corrections pour les couleurs, etc..)
Une idee pour ce pb ? merci beaucoup
Ciao a tutti, Je suis tout nouveau dans l'utilisation de Dotclear. Donc félicitations à tous ceux qui bossent dessus et ceux qui font ces super tutos et ceux... J'ai d'abord utilisé le thème Livsey puis j'ai voulu le personnaliser un peu. D'où intrégration d'une barre de navigation horizontale grace à ce super tuto. Le résultat est sur: http://www.laurentpillot.info/blog/ Ca fonctionne très bien... sur IE, car sur Firefox, les liens n'apparaissent pas dans la barre. J'ai essayé plein de choses, j'ai cherché partout mais je ne trouve pas de solution. Est-ce que quelqu'un a une solution ? Merci d'avance,
Cyclope
PS: je ne suis pas un développeur mais j'aime bien apprendre et j'espère que ma question n'est pas trop bete.
Bonsoir, J'ai pu appliquer cette barre de navigation horizontale sans trop de soucis. Merci donc pour ces infos. Par contre avez-vous une solution pour le problème de la page active qui n'est pas affichée ? Merci d'avance. Cordialement,
Bonjour à tous,
Tout d'abord merci pour les échanges précieux que vous faites par l'intermédiaire de divers site relatifs à DotClear... C'est d'une grande aide !
Cepedant je bloque toujours sur la barre de navigation horizontale. J'ai pu 'linstaller sans problème mais il reste un soucis. Je voudrais faire apparaitre dans cette barre la liste des catégories ainsi que les pages connexes... Pour le moment je fouille mille possibilités mais je n'arrive pas à avoir les deux en même temps. Je ne peu afficher que les catégories ou que les pages connexes...
Pour ma part je sais parfaitement comment réaliser ce menu (catégories + pages connexes) en bidouillant dans la source, mais je réalise un blog/site pour une personne totalement profane en la matière. Je dois donc réaliser un blog/site totalement modifiable (ou presque) depuis une interface d'amin...
Si quelqu'un a une idée ou un bout de code pour résoudre mon problème (je le répète: affichage sur la barre horizontale des catégories + les pages connexes automatiquement).
Merci d'avance. Bien à vous. Excellente journée/soirée/nuit
coucou super la barre horizontale moi je l'est sur mon site par contre tu pourrais m'expliquer si c'est possible de mettre en couleur ex:rouge qu'un seul lien et les autres liens toujours en gris merci d'avance pour vos réponse toujours aussi enrichissantes. a+
Bonjour à tous !!!!! Super tutorial, facile à mettre en oeuvre!!! Merci pour cette mine d'informations !!! A bientôt
Bonjour,
Merci pour le tuto spécifique, mais je ne vois pas quels sont les fichiers qui doivent être modifiés.
Est-il possible de m'indiquer le nom des fichiers que l'on doit édité.
Merci
Bonjour Guillaume, c'est le fichier
template.php
qu'il faut modifier. S'il n'est pas présent dans le répertoire du thème que tu utilises il faut alors copier tous les fichiers *.php du thème par défaut et les placer dans le répertoire de ton thème afin de les modifier.euh... je complète : en l'occurrence il n'y a que le fichier template.php qui doit être modifié mais il faut quand même copier les autres aussi dans le répertoire de ton thème.
Bonjour, premièrement, merci et bravo pour le tuto, ça aide bien ! J'ai cependant un petit problème avec ma barre de navigation (je crois que la quaestion a déjà été posée mais je ne comprend pas la réponse). J'ai 5 liens dans ma barre horizontale, lien correspondant à mes catégories (sauf contact, page connexe). J'aimerai que lorsque je suis dans une de ces catégories, elle apparaisse dans ma barre de menu de la même façon qu'elle est surlignée lors d'un roll-over pour apparaître comme un onglet. J'ai beau faire des modifs dans le fichier style.css mais rien n'y fait... Help ! Merci d'avance !!!
Bonjour Pedronidas : c'est expliqué au commentaire 31. Ce point est également abordé de temps en temps sur le forum où tu peux effectuer une recherche.
Bonjour,
J'ai installé la barre de menu en dessous du badeau de mon blog. par contre le menu et le badeau se chevaucent et je n'arrive pas à trouver la propriété à modifier pour déplacer ma barre de menu vers le bas.
pourriez vous m'aider ?
Merci pour votre aide
MoBs
bonjour,
J'ai essayé d'installer la barre de menu horizontale, mais impossible de faire un lien vers une page HTML située dans un répertoire... J'ai essayé de créer un billet, avec les infos de cette page HTLM (DVD) mais là encore impossible de faire le lien sur le billet.
Je ne vois pas comment faire... Il me semble pourtant avoir (presque) tout essayé .
En vous remerciant de votre aide.
JM
Tu peux coller ici le code html que tu as mis pour cette barre ? (utilise le bouton "pre" ci-dessus pour copier la portion de code.
Salut !
Tout d'abord un petit merci pour tout ces tutos, qui me sont très utiles!!
Alors voilà, j'ai mis en place cette superbe barre horizontale, en affichant la liste des catégories
.Jusque là tout va bien, toutes mes catégories s'affichent correctement, tous les liens fonctionnent, sauf le lien vers la catégorie "Welcome!" m'affiche une erreur 404...
Petite précision, je suis sous 1.2.7
Si quelqu'un a une p'tite idée...
La suite, sur le forum :)
bonjour à tous!
Nouvelle débarquante dans l'univers fabuleux du weblog sous dotclear je cherchais depuis quelques heures comment avoir une barre de navigation horrizontale lorsque je suis tombé sur cette page.
Je voulais juste avoir une petite question bête (il faut bien commencé quelques part... :)
Il y a différents ligne de code à placé çi ou là, ça ok, mais les codes à placer "sous la source" c'est où?? je veux dire c'est quel fichier que l'on appel "la source"? le desc, le fichier "style"...?
merci de votre réponse futur (enfin j'espère)
et merci pour l'aide précieuse que vous fournisez tous ici.
Dans le fichier template.php du thème que tu utilises :)
Bonjour,
je souhaiterais afficher, ou enlever, sous forme de sous menu, les differentes catégories de mon blog, lorsqu'on click dessus. J'ai essayer de mettre des fonctions onclick mais je n'y arrive pas. Voici le code de mon template.php concernés du moins je crois.
"
<div id="categories">
<h2>Catégories</h2>
<?php dcCatList(); ?>
</div>
"
Si quelqu'un a une réponse à ma question je prend
Voilà ma barre d'outil est enlenver est je s'est enlever.
Hi, I'm making my own template and I have tried your tutorial (Google translate :)), but for some reason the navigation isn't displayed. I can write what I want in the _top.html file, but it just never appears. Is there anything special that I'm missing? Thank you in advance!
According to the way you are proceeding to edit _top.html, you might need to Empty templates cache directory (via Plugins -> Maintenance) :-)