Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    65

    Foreach con link selezionato

    Ciao a tutti!
    Volevo sapere come far rimanere evidenziata una voce del menu costruito tramite foreach.
    Esmpio: Quando sono in HOME che la voce sia in rosso, in CONTATTI che sia rossa contatti ecc.)


    <div id="menu">
    <ul>
    <?php foreach ($menu as $k => $v) { ?>
    <?php ?>
    [*]<?php echo $v ?>
    <?php } ?>

    [/list]
    </div>

    <?php
    $menu = array("./index.php?pagina=home" => "HOME", "./index.php?pagina=curriculum" => "CURRICULUM", "./index.php?pagina=contatti" => "CONTATTI", "./index.php?pagina=links" => "LINKS", "./index.php?pagina=portfolio" => "PORTFOLIO");

    ?>

    Il costrutto è giusto e funzionante. Ho postate il codice così potete dirmi dove aggiungere le modifiche.
    Grazie dell'aiuto!!

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    supponendo che $P contenga la pagina attiva (es. $P=='HOME') aggiungendo una classe al tag LI (poi con i CSS definisci uno stile apposito):

    Codice PHP:
    <div id="menu"> 
    <ul> 
    <?php foreach ($menu as $k => $v) { ?>
    <?php ?>
    <li class="<?php print (($P==$v)?('active'):('off'));?>">[url="<?php echo $k ?>"]<?php echo $v ?> [/url]
    <?php ?>
    [/list]
    </div>

    <?php 
    $menu 
    = array("./index.php?pagina=home" => "HOME""./index.php?pagina=curriculum" => "CURRICULUM""./index.php?pagina=contatti" => "CONTATTI""./index.php?pagina=links" => "LINKS""./index.php?pagina=portfolio" => "PORTFOLIO");

    ?>
    p.s.: io invertirei le chiavi con i valori, così è più semplice anche per i controlli... es.: il link attivo sarebbe $menu[$P]

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    65
    grazie eiyen

    ho aggiunto questa riga di codice:
    <li class="<?php print ($p== $v) ? ('active')?>"><?php echo $v ?>

    ma ancora non funziona. Ho tolto l'immagine che non mi interessa

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.