Créer un menu global en php avec des conditions par templates (Créer un compte)

  • Statut : non résolu
3 sujets de 1 à 3 (sur un total de 3)
  • Auteur
    Messages
  • #453694
    baudry
    Participant
    Chevalier WordPress
    178 contributions

    Bonjour,

    Ma configuration WP actuelle WordPress 2.62
    – Version de WordPress :
    – Thème utilisé :
    – Plugins en place :
    – Nom de l’hebergeur : http://olivierbaudrydesign.free.fr
    – Adresse du site :

    Problème(s) rencontré(s) : Bonjour je cherche à faire un seul fichier de mon menu mais celui – ci comprends actuellement ceci :

    <?php
    $language=<<<LANGUAGE
    <ul id="menu_language">
    <li><a href="/" title="lire en français" id="menu_french_inactive"><span class="off">french</span></a></li>
    <li><a href="/" title="read in english" id="menu_english_active"><span class="off">english</span></a></li>
    </ul>
    LANGUAGE;
    $lines = split(« n », $language);
    foreach ($lines as $line) {
    $current = false;
    preg_match(‘/href= »([^ »]+) »/’, $line, $url);
    if (substr($_SERVER[« REQUEST_URI »], 0, 5) == substr($url[1], 0, 5)) {
    $line = str_replace(‘<a h', '<a id="current" h', $line);
    }
    echo $line."n";
    }
    ?>
    </ul>

    <?php
    $menu = <<<MENU
    <ul id="menu_nav">
    <li><a href="http://olivierbaudrydesign.free.fr" title="home" id="menu_home"><span class="off">home</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=5/" title="biographie" id='menu_biography'><span class="off">biographie</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=22" title="cv" id="menu_cv"><span class="off">cv</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=9/" title="workingprogress" id="menu_workingprogress"><span class="off">workingprogress</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=6/" title="randomizer" id="menu_randomizer"><span class="off">randomizer</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=25/" title="videos" id="menu_videos"><span class="off">videos</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=23/" title="photographies" id="menu_pictures"><span class="off">photographies</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=12/" title="sons" id="menu_sounds"><span class="off">sons</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=20/" title="expositions" id="menu_exhibitions"><span class="off">expositions</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=21/" title="publications" id="menu_publications"><span class="off">publications</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=15/" title="logiciels" id="menu_software"><span class="off">logiciels</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=13/" title="abstracts" id="menu_abstracts"><span class="off">abstracts</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=14/" title="machines" id="menu_machines"><span class="off">machines</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=29/" title="artistes" id="menu_artists"><span class="off">artistes</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=16/" title="bibliographie" id="menu_bibliography"><span class="off">bibliographie</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=31/" title="discographie" id="menu_discography_on"><span class="off">discographie</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=30/" title="webographie" id="menu_webography"><span class="off">webographie</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=19/" title="citations" id="menu_citations"><span class="off">citations</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=17/" title="lexique" id="menu_lexique"><span class="off">lexique</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=28/" title="liens" id="menu_links"><span class="off">liens</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=27/" title="forum" id="menu_forum"><span class="off">forum</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=26/" title="téléchargement" id="menu_upload"><span class="off">téléchargement</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=24/" title="remerciements" id="menu_thanks"><span class="off">remerciements</span></a></li>
    </ul>

    MENU;

    $lines = split(« n », $menu);
    foreach ($lines as $line) {
    $current = false;
    preg_match(‘/href= »([^ »]+) »/’, $line, $url);
    if (substr($_SERVER[« REQUEST_URI »], 0, 5) == substr($url[1], 0, 5)) {
    $line = str_replace(‘<a h', '<a id="current" h', $line);
    }
    echo $line."n";
    }
    ?>
    </ul>

    <?php include("search.php");?>

    Or les pictos étant changeant je cherche à faire quelque chose comme

    si page active est home alors :

    <?php
    $language=<<<LANGUAGE
    <ul id="menu_language">
    <li><a href="/" title="lire en français" id="menu_french_inactive"><span class="off">french</span></a></li>
    <li><a href="/" title="read in english" id="menu_english_active"><span class="off">english</span></a></li>
    </ul>
    LANGUAGE;
    $lines = split(« n », $language);
    foreach ($lines as $line) {
    $current = false;
    preg_match(‘/href= »([^ »]+) »/’, $line, $url);
    if (substr($_SERVER[« REQUEST_URI »], 0, 5) == substr($url[1], 0, 5)) {
    $line = str_replace(‘<a h', '<a id="current" h', $line);
    }
    echo $line."n";
    }
    ?>
    </ul>

    <?php
    $menu = <<<MENU
    <ul id="menu_nav">
    <li><a href="http://olivierbaudrydesign.free.fr" title="home" id="menu_home_on"><span class="off">home</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=5/" title="biographie" id='menu_biography'><span class="off">biographie</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=22" title="cv" id="menu_cv"><span class="off">cv</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=9/" title="workingprogress" id="menu_workingprogress"><span class="off">workingprogress</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=6/" title="randomizer" id="menu_randomizer"><span class="off">randomizer</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=25/" title="videos" id="menu_videos"><span class="off">videos</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=23/" title="photographies" id="menu_pictures"><span class="off">photographies</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=12/" title="sons" id="menu_sounds"><span class="off">sons</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=20/" title="expositions" id="menu_exhibitions"><span class="off">expositions</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=21/" title="publications" id="menu_publications"><span class="off">publications</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=15/" title="logiciels" id="menu_software"><span class="off">logiciels</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=13/" title="abstracts" id="menu_abstracts"><span class="off">abstracts</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=14/" title="machines" id="menu_machines"><span class="off">machines</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=29/" title="artistes" id="menu_artists"><span class="off">artistes</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=16/" title="bibliographie" id="menu_bibliography"><span class="off">bibliographie</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=31/" title="discographie" id="menu_discography"><span class="off">discographie</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=30/" title="webographie" id="menu_webography"><span class="off">webographie</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=19/" title="citations" id="menu_citations"><span class="off">citations</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=17/" title="lexique" id="menu_lexique"><span class="off">lexique</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=28/" title="liens" id="menu_links"><span class="off">liens</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=27/" title="forum" id="menu_forum"><span class="off">forum</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=26/" title="téléchargement" id="menu_upload"><span class="off">téléchargement</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=24/" title="remerciements" id="menu_thanks"><span class="off">remerciements</span></a></li>
    </ul>

    MENU;

    $lines = split(« n », $menu);
    foreach ($lines as $line) {
    $current = false;
    preg_match(‘/href= »([^ »]+) »/’, $line, $url);
    if (substr($_SERVER[« REQUEST_URI »], 0, 5) == substr($url[1], 0, 5)) {
    $line = str_replace(‘<a h', '<a id="current" h', $line);
    }
    echo $line."n";
    }
    ?>
    </ul>

    <?php include("search.php");?>

    si la page est biographie alors

    <?php
    $language=<<<LANGUAGE
    <ul id="menu_language">
    <li><a href="/" title="lire en français" id="menu_french_inactive"><span class="off">french</span></a></li>
    <li><a href="/" title="read in english" id="menu_english_active"><span class="off">english</span></a></li>
    </ul>
    LANGUAGE;
    $lines = split(« n », $language);
    foreach ($lines as $line) {
    $current = false;
    preg_match(‘/href= »([^ »]+) »/’, $line, $url);
    if (substr($_SERVER[« REQUEST_URI »], 0, 5) == substr($url[1], 0, 5)) {
    $line = str_replace(‘<a h', '<a id="current" h', $line);
    }
    echo $line."n";
    }
    ?>
    </ul>

    <?php
    $menu = <<<MENU
    <ul id="menu_nav">
    <li><a href="http://olivierbaudrydesign.free.fr" title="home" id="menu_home"><span class="off">home</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=5/" title="biographie" id='menu_biography_on'><span class="off">biographie</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=22" title="cv" id="menu_cv"><span class="off">cv</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=9/" title="workingprogress" id="menu_workingprogress"><span class="off">workingprogress</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=6/" title="randomizer" id="menu_randomizer"><span class="off">randomizer</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=25/" title="videos" id="menu_videos"><span class="off">videos</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=23/" title="photographies" id="menu_pictures"><span class="off">photographies</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=12/" title="sons" id="menu_sounds"><span class="off">sons</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=20/" title="expositions" id="menu_exhibitions"><span class="off">expositions</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=21/" title="publications" id="menu_publications"><span class="off">publications</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=15/" title="logiciels" id="menu_software"><span class="off">logiciels</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=13/" title="abstracts" id="menu_abstracts"><span class="off">abstracts</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=14/" title="machines" id="menu_machines"><span class="off">machines</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=29/" title="artistes" id="menu_artists"><span class="off">artistes</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=16/" title="bibliographie" id="menu_bibliography"><span class="off">bibliographie</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=31/" title="discographie" id="menu_discography"><span class="off">discographie</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=30/" title="webographie" id="menu_webography"><span class="off">webographie</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=19/" title="citations" id="menu_citations"><span class="off">citations</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=17/" title="lexique" id="menu_lexique"><span class="off">lexique</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=28/" title="liens" id="menu_links"><span class="off">liens</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=27/" title="forum" id="menu_forum"><span class="off">forum</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=26/" title="téléchargement" id="menu_upload"><span class="off">téléchargement</span></a></li>
    <li><a href="http://olivierbaudrydesign.free.fr/?page_id=24/" title="remerciements" id="menu_thanks"><span class="off">remerciements</span></a></li>
    </ul>

    MENU;

    $lines = split(« n », $menu);
    foreach ($lines as $line) {
    $current = false;
    preg_match(‘/href= »([^ »]+) »/’, $line, $url);
    if (substr($_SERVER[« REQUEST_URI »], 0, 5) == substr($url[1], 0, 5)) {
    $line = str_replace(‘<a h', '<a id="current" h', $line);
    }
    echo $line."n";
    }
    ?>
    </ul>

    <?php include("search.php");?>

    Ceci afin d’éviter le fait d’avoir différents fichiers de menus en fonction de l’activation de la page et donc du changement de pictos correspondants.

    #608172
    Anonyme
    Inactif
    Padawan WordPress
    96 contributions

    Il faut utiliser les marqueurs conditionnels pour cela.

    #608173
    baudry
    Participant
    Chevalier WordPress
    178 contributions

    Merci
    Mais peux tu être précis et me dire quelles sont les expressions et comment mettrais-tu cela en oeuvre?

3 sujets de 1 à 3 (sur un total de 3)
  • Vous devez être connecté pour répondre à ce sujet.