Forum de l’article

Le menu horizontal

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Rappel de la discussion
inc-menu
david berland - le 28 avril 2010

Salut Jean-Christophe,

dis moi, je me demandais s’il était possible de faire afficher directement les articles lorsque l’on passe la souris sur le nom d’une rubrique, sans passer par l’affichage des sous-rubriques (parce qu’avoir des sous-rubriques avec un seul article c’est pas forcément génial).

Si oui, que faut il changer dans le code ? J’ai essayé d’y jeter un oeil mais c’est un "chouillat" compliqué pour moi :/

merci par avance

David

inc-menu
Jean Christophe Villeneuve - le 29 avril 2010

Bon, j’ai toujours du mal à comprendre qu’on crée une rubrique pour un seul article mais ça peut arriver.

Il existe plusieurs solutions pour afficher directement l’article dans ce cas. J’ai retenu la plus simple à mettre en œuvre. Elle contient un zeste de php mais rien de terrible.

Ce sera disponible dans Escal d’ici une heure.

Je me suis contenté de rajouter au début du fichier inc-rubrique_normal ce bout de code, juste après la balise qui définit le cache :

<!-- On teste s'il y a un seul article dans la rubrique
et dans ce cas, on redirige vers la page article  -->
<BOUCLE_test_nb(RUBRIQUES) {id_rubrique}>
<BOUCLE_nb_article(ARTICLES){id_rubrique}>
<?php $k="#URL_ARTICLE"; ?>
</BOUCLE_nb_article>
<?php if ('#TOTAL_BOUCLE'==1) header("location:$k");?>
</B_nb_article>
</BOUCLE_test_nb> 

et hop !

Et merci à nikolas.villa pour cette astuce.

inc-menu
david - le 29 avril 2010

ahhh, ben c’est sympa ça, merci beaucoup :)
et si j’ai plus d’un seul article, j’ai juste à changer le "==1" en ">0", c’est ça ?

et merci aussi à nikolas.villa, que je ne connais pas mais ça ne change rien ;)

inc-menu
Jean Christophe Villeneuve - le 30 avril 2010

Non, tu rajoutes ce bout de code (ou tu mets Escal à jour) et tu ne fais rien d’autre !

Si un seul article, on redirige vers la page article.
Si plus d’un article, on continue et on affiche la liste des articles comme avant.

inc-menu
david - le 2 mai 2010

hummmm, je ne suis pas certain de tout bien comprendre :/ mais je me suis peut-etre mal expliqué, aussi.

En fait, ce que moi je cherche c’est un code qui me permet d’afficher dans le menu horizontal, lorsque je passe la souris sur une rubrique, la liste des articles qu’elle contient (ex : dans ce site, quand je passe la souris sur "Plugins", rien ne s’affiche, et bien moi je souhaiterais que la liste des articles que contient cette rubrique s’affichent de la même manière que si elle contenait des sous rubriques).

Est ce que le code que tu m’as fourni avant permet de faire ça ?

inc-menu
Jean Christophe Villeneuve - le 6 mai 2010

Ah oui, je t’avais mal compris. Ce code te permet juste d’aller directement à l’article lorsque tu cliques sur une rubrique n’en contenant qu’un au lieu d’afficher une liste d’un seul article.

Toi tu voudrais un menu horizontal qui fasse comme le premier menu vertical en page d’accueil de ce site, c’est ça ?

inc-menu
david - le 6 mai 2010

voilà, un menu qui affiche les articles qui sont contenus dans chaque rubrique, comme dans le menu vertical "Au menu", mais pour le grand menu horizontal :).

Je suppose qu’il doit être possible d’adapter le code du menu vertical pour que ça fonctionne dans le menu horizontal, mais comme je n’y connais pas grand chose en codage ... si tu peux m’aider ça serait cool ;)

inc-menu
Jean Christophe Villeneuve - le 8 mai 2010

Pas de souci. Il suffit de copier inc-menu.html dans ton dossier /squelettes et de rajouter juste avant la ligne 33

<BOUCLE_ssmenu(boucle_smenuspip)></BOUCLE_ssmenu>

ce code :

<!-- affichage des articles -->
<B_articles>
<ul class="articles">
<BOUCLE_articles(ARTICLES) {id_rubrique} {par num titre, titre}{doublons}>
<li>
<a href="#URL_ARTICLE" title="[(#DESCRIPTIF|textebrut|entites_html)]">[(#TITRE)]</a>
</li>                                            
</BOUCLE_articles>
</ul>
</B_articles>

et hop !

inc-menu
david - le 13 mai 2010

re,

bon, j’ai fait ce que tu as demandé (mis le code avant la ligne 33 dans inc-menu.html) mais apparemment ça ne fonctionne pas. Quand je passe le curseur de la souris sur le menu horizontal, rien ne se passe et pourtant j’ai bien des articles dans les rubriques. :/

Comme je l’ai essayé sur mon site test ( http://laplumemusique.free.fr ) j’ai laissé inc-menu.html dans son dossier d’origine (inclusions) mais il ne me semble pas que ça change grand chose, non ?

inc-menu
Jean Christophe Villeneuve - le 18 mai 2010

Oups, j’avais pas tilté que tu n’avais que des rubriques de premier niveau.

Rajoute le même code juste avant la ligne 18 (c’est à dire le commentaire "tester la présence de sous-rubrique") et là ça devrait être ok.

Et désolé pour le temps de réponse très long mais WE de l’ascension + plantage serveur.

Tiens-moi au courant.

inc-menu
David Berland - le 18 mai 2010

Génial, tout fonctionne super bien, je te remercie encore une fois.
J’ai effectivement vu qu’il y avait un problème sur le serveur ce we, mais je suis content de voir que tout est rentré dans l’ordre.

A bientôt pour de nouvelles questions ;)

inc-menu
david - le 24 mai 2010

re, désolé de te déranger encore, juste un p’tit truc dont j’aurais besoin pour finaliser ce que je veux faire. Je me suis aperçu que le code que tu m’as donné liste les articles par ordre alphabétique. Est ce qu’il est possible qu’il les laisse dans l’ordre où ils sont dans les rubriques ?

@+ et bonne fin de we

inc-menu
Jean Christophe Villeneuve - le 26 mai 2010

Là, les article sont triés par

{par num titre, titre}

c’est à dire par numéros et sinon par ordre alphabétique.

A priori, pour avoir le même ordre que dans les rubriques, il suffit de remplacer ce code par

{par date}{inverse}
inc-menu
david - le 27 mai 2010

ok cool, mercccciiiiiiiiiiiiiiiiiiiiiiiiiii ;)