Menu actif et include php

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par meteo75, 25 Novembre 2011.

  1. meteo75
    meteo75 WRInaute discret
    Inscrit:
    12 Juillet 2009
    Messages:
    180
    J'aime reçus:
    0
    Bonjour !

    J'ai un menu qui est dans une include
    <?php
    include("./menu.php");
    ?>
    pour toutes mes pages . cependant j'ai un lien qui se met en surbrillance sur la page que l'on est

    ex: page1.php le menu page1 se met en surbrillance .

    Mais je ne sais pas comment faire ... pour activer le lien sur la page avec l'include pour toutes les pages .
     
  2. MikeR
    MikeR WRInaute passionné
    Inscrit:
    9 Janvier 2010
    Messages:
    1 416
    J'aime reçus:
    0
    Rien compris à ta question.
    Il vient d'où, le lien en surbrillance? D'un autre include?
     
  3. marchandeo
    marchandeo WRInaute discret
    Inscrit:
    18 Janvier 2011
    Messages:
    94
    J'aime reçus:
    0
    L'include en PHP n'est pas pré-exécuté, tu peux donc utiliser à l'intérieur de ton script menu.php toutes les données accessibles par le script appelant. Dans le cas d'un menu, tu dois certainement récupérer le nom de la catégorie courante et mettre en place une condition pour chaque partie de ton menu. Un exemple qui j'espère t'éclairera un peu :
    Code:
    <ul>
    <li><a href="/page1.php" <?php if($_GET['page'}=='page1') echo 'class="surbrillance"'; ?> >Page 1</a></li>
    <li><a href="/page2.php" <?php if($_GET['page'}=='page2') echo 'class="surbrillance"'; ?> >Page 2</a></li>
    </ul>
    
     
  4. meteo75
    meteo75 WRInaute discret
    Inscrit:
    12 Juillet 2009
    Messages:
    180
    J'aime reçus:
    0
    Bonjour,

    En fait je vais me reexpliquer . J'ai un site tout en php avec plusieurs centaines de pages . Pour eviter de modifier mon menu sur toutes les pages en cas de modifs, je preferre y modifier la page de l'include a savoir menu.php comme ca le menu se modifiera partout . Ca j'y arrive .

    Le soucis, c'est que mon menu se compose suivant
    menu1 menu2 menu3 menu4
    Et si quelqu'un se trouve sur la page de menu2, il a un style.css " spécial " pour montrer au visiteur qu'il est sur la page de menu2 . ( <li class="menu-act">menu2 </li> )

    Mon problème
    est comment faire pour dire à l'include, il faut mettre un style spécial a ce menu car on s'y trouve ?
     
  5. KOogar
    KOogar WRInaute accro
    Inscrit:
    16 Novembre 2004
    Messages:
    4 665
    J'aime reçus:
    76
    avec l'URI, cad le nom de ta page, ou une partie du nom

    Code:
                   <?php 
                   if(strstr($_SERVER["REQUEST_URI"],'meteo')) 
                   echo '<li class="menu-act">menu2</li>';
                   else 
                   echo '<li>menu2</li>'; 
                   ?>
    
    tu comprends le fonctionnement ?
     
  6. meteo75
    meteo75 WRInaute discret
    Inscrit:
    12 Juillet 2009
    Messages:
    180
    J'aime reçus:
    0
    Pour être honnete non :eek:S
     
  7. zeb
    zeb WRInaute accro
    Inscrit:
    5 Décembre 2004
    Messages:
    12 192
    J'aime reçus:
    1
    Ce que te dit KOogar c'est que la variable $_SERVER["REQUEST_URI"] contient l'URL de la page en cours d'affichage.

    Partant de là, ton script "menu.php" en testant cette variable peut composer dynamiquement un menu adapté a chaque URL ou sections de ton site.
     
  8. meteo75
    meteo75 WRInaute discret
    Inscrit:
    12 Juillet 2009
    Messages:
    180
    J'aime reçus:
    0
  9. UsagiYojimbo
    UsagiYojimbo WRInaute accro
    Inscrit:
    23 Novembre 2005
    Messages:
    11 887
    J'aime reçus:
    74
    En gros ce que propose Koogar c'est :

    Code:
    <?php
    if(strstr($_SERVER["REQUEST_URI"],'meteo')) // si j'ai le mot meteo dans mon url alors :
    {
    echo '<li class="menu-act">menu2</li>';
    }
    else //si je n'ai pas le mot meteo dans mon url alors :
    {
    echo '<li>menu2</li>'; 
    }
    ?>
    
    décliné pour l'ensemble des items de ton menu
     
  10. mouls
    mouls Nouveau WRInaute
    Inscrit:
    22 Août 2013
    Messages:
    5
    J'aime reçus:
    0
    Bonjour,

    ce script marche à merveille, mais j'ai une question : comment insérer plusieurs mots ?

    ex : if(strstr($_SERVER["REQUEST_URI"],'leon,loulou,lili'))

    La cause est que j'ai un menu déroulant en js sous cette rubrique.

    Merci !
     
  11. ZHB
    ZHB Nouveau WRInaute
    Inscrit:
    5 Octobre 2007
    Messages:
    23
    J'aime reçus:
    0
    Tu peux utiliser une autre solution qui consiste à insérer par exemple dans la balise <body> un identifiant par section. Donc toutes les pages qui sont par exemples liées au menu "exemple1", tu leur met ceci :
    Code:
    <body id="exemple1">
    Ton menu tu le fais ainsi :
    Code:
    <a class="exemple1" href="">Exemple1</a>
    Ensuite, dans ton css, tu ajoute la balise que tu veux permettant de modifier ton menu :
    Code:
    #exemple1.menu li a.exemple1,
    #exemple2.menu li a.exemple2  {
        border-top: 4px solid rgba(0, 0, 0, 0.15);
        color: rgb(119, 119, 119);
    }

    Suivant comment tu as développé ton site, cette technique s'applique très rapidement. C'est ce que j'utilise sur mon site (voir mon www).
     
  12. mouls
    mouls Nouveau WRInaute
    Inscrit:
    22 Août 2013
    Messages:
    5
    J'aime reçus:
    0
    Salut,

    En fait j'ai exactement le code ci-dessous :

    Mon problème est que j'ai un sous menu en javascript sous un de mes éléments de liste : chaque élément de sous menu pointe un lien vers une page différente : comment mettre ces noms de pages à la suite dans ce code pour que la requete serveur les reconnaisse tous ?

    Voyez mon site pour illustration : www.r9infiltrometrie.fr

    Un grand merci !
     
  13. ZHB
    ZHB Nouveau WRInaute
    Inscrit:
    5 Octobre 2007
    Messages:
    23
    J'aime reçus:
    0
    Code:
    if (preg_match("#meteo|nuage|vent|neige#i", $_SERVER["REQUEST_URI"])) {
       echo '<li class="menu-act">menu2</li>';
    } else {
       echo '<li>menu2</li>'; 
    }
     
  14. mouls
    mouls Nouveau WRInaute
    Inscrit:
    22 Août 2013
    Messages:
    5
    J'aime reçus:
    0
    ZHB merci, ça marche parfaitement !! :D
     
  15. mouls
    mouls Nouveau WRInaute
    Inscrit:
    22 Août 2013
    Messages:
    5
    J'aime reçus:
    0
    Bonjour à tous,

    je veux apporter une modif à ce code qui marche très bien :

    <li><a href="http://www.r9infiltrometrie.fr/etancheite-a-lair-fouesnant.php" <?php
    if(strstr($_SERVER["REQUEST_URI"],'etancheite-a-lair'))
    echo '<li class="li actif">ETANCHEITE A L\'AIR</li>';
    else
    echo '<li class="li prestations">ETANCHEITE A L\'AIR</li>';
    ?></a></li>

    Quel code rajouter pour adapter le lien a à l'url ? explication : si l'internaute est sur la page dpe-quimper, je veux que mon menu affiche les liens avec "extensions" -quimper, alors que s'il est sur la page dpe-fouesnant, je veux afficher les liens avec "extensions" -fouesnant.

    J'ai bidouillé un truc mais ça ne marche pas !

    Merci !
     
  16. mouls
    mouls Nouveau WRInaute
    Inscrit:
    22 Août 2013
    Messages:
    5
    J'aime reçus:
    0
    J'ai trouvé !

     
Chargement...
Similar Threads - Menu actif include Forum Date
Lien externe sponsorisé menu/page accueil Wordpress Débuter en référencement Dimanche à 09:51
Astuce Bootstrap/menu déroulant Demandes d'avis et de conseils sur vos sites 26 Mai 2020
WordPress Menu et catégories multiples (AND et pas OR) Développement d'un site Web ou d'une appli mobile 21 Février 2020
Comment faire une structure en silo avec un menu de navigation ? Référencement Google 4 Février 2020
WordPress Cocon sémantique et CMS : liens menu et footer Référencement Google 18 Novembre 2019
Le menu n'apparait pas dans l'interface Google Ads AdWords 17 Novembre 2019
Conserver ou non le nofollow sur menu Netlinking, backlinks, liens et redirections 9 Octobre 2019
Menu navigation, les tendances? Développement d'un site Web ou d'une appli mobile 20 Septembre 2019
Ne pas rendre crawlable le menu ? Référencement Google 15 Septembre 2019
Mauvais affichage menu en https (https imposé par google) Développement d'un site Web ou d'une appli mobile 15 Juin 2019
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice