Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    7

    menu con include e array

    Buon pomeriggio a tutti e grazie per aver creato una risorsa così importante per chi, come me, ha voglia di imparare il php.

    sono alle prime armi, conosco abbastanza bene l'html e css, e ultimamente sto imparando qualcosina di php...


    questa è la mia situazione:
    Codice PHP:
    <ul>
                [*]<a <?php if (basename($_SERVER["REQUEST_URI"]) == "portfolio.php") echo " class='selected' ";?> href="portfolio.php" id="portfolio">portfolio</a>
                [*]<a <?php if (basename($_SERVER["REQUEST_URI"]) == 'stories.php') echo " class='selected' ";?> href="stories.php" id="stories">stories</a>
                <div class="spacer1"></div>
                [*]<a <?php if (basename($_SERVER["REQUEST_URI"]) == "about.php") echo " class='selected' ";?> href="about.php" id="about">about</a>        
        [/list]
    ho un menu include e per creare la classe css selected ho trovato questa struttura "REQUEST_URI"...il problema è che vorrei che la seconda voce di menu si "accendesse" anche in altri casi, cioè quando si è in altre pagine diverse da stories.php, che è quella attivabile secondo lo script sopra.

    ho pensato a inserire un array ...ma non vado molto lontano...
    Codice PHP:
    $pagine = array ('stories.php''nasty_water.php''bororo_a_static_movement.php''the_asphalt_of_a_crew.php''the_soul_crack.php''tsukiji_fish_market.php'); 
    qualcuno sa come aiutarmi???

    grazie
    ciao!

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    7
    nessuno che mi dia una mano???

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    7
    vorrei almeno sapere se è una cosa complicata o meno.

    non risponde proprio nessuno???


    vabbè....

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    204
    Non sarebbe più semplice se da CSS imposti a:hover che così si evidenzia il link ogni volta che ci passi col mouse? Senza usare il php.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    7
    ciao ale grazie per la risposta...

    mi serve che la voce di menu (menu che è un include) si accenda (grazie alle classe selected) quando si accede a pagine diverse, e non soltanto se vai sopra il link (hover)....

    purtroppo sono alle prime armi e non riesco a uscirne fuori; ma confido in questo forum!!!


    ciao e grazie

  6. #6
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Secondo me ci sono soluzioni migliori tipo :

    Codice PHP:

    $menu  
    = array();
    $cnt    0;
    $menu[$cnt] = array( "label"=>"home" "link"=>"home.html" "path"=>"./" "id"=>"id_home");
    $cnt++;
    $menu[$cnt] = array( "label"=>"pagina1" "link"=>"pagina1.html" "path"=>"./" "id"=>"id_page1" );
    $cnt++;
    $menu[$cnt] = array( "label"=>"spacer" "class"=>"spacer1");
    $cnt++;
    $menu[$cnt] = array( "label"=>"pagina2" "link"=>"pagina2.html" "path"=>"./" "id"=>"id_page2");
    $cnt++;

    $curr $_SERVER[PHP_SELF];
    $curr explode("/" ,$curr);
    $curr $currcount($curr)-];

    $str "<ul>";
    foreach( 
    $menu as $v )
    {
         if(
    $v[label]=="spacer")
         {
              
    $str .= '<div class="'.$v[class].'"></div>';
         }
         else
         {
              
    $class=  $curr==$v[link] ? "menu_sel" "menu" ;
              
    $str .= '\n\t[*][url="'.$v[path].$v[link].'"]'.$v[label].'[/url]';
         }
    }
    $str.="[/list]"
    et vuoila questo ti gestisce tutti i menu che vuoi .

    EDIT:
    Ovviamente ci sono nolte altre soluzioni per gestire i menu come usare xml o generare un menu con delle opportune stringhe di controllo interne che con regular expression vengono moficate ad Hoc in base alla sezione in cui vai a caricare il menu ... e chi piu' ne ha piu' ne metta.
    Per come dicevi te una sol con array e' una cosa come questa , ovviamente potresti farti una funzione che passato l'array ti restituisce la stringa con il menu in html cosi' nelle pagine crei l'array del menu e lo passi alla funzione stampandolo nella pagina.
    Vedi te.

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    7
    penso di aver risolto...grazie a questo tutorial http://www.mariocarboni.com/design/c...rente-con-php/


    Codice PHP:
    <?php 
        $link 
    = array("stories.php""nasty_water.php""bororo_a_static_movement.php""the_asphalt_of_a_crew.php""the_soul_crack.php""tsukiji_fish_market.php");
    ?>
            <ul>
                [*]<a <?php if (basename($_SERVER["REQUEST_URI"]) == "portfolio.php") echo " class='selected' ";?> href="portfolio.php" id="portfolio">portfolio</a>
                [*]<a <?php for($i=0$i<=count($link)-1$i++) if (basename($_SERVER["REQUEST_URI"]) == "$link[$i]") echo " class='selected' ";?> href="stories.php" id="stories">stories</a>
                <div class="spacer1"></div>
                [*]<a <?php if (basename($_SERVER["REQUEST_URI"]) == "about.php") echo " class='selected' ";?> href="about.php" id="about">about</a>        
            [/list]
    basta gestire bene gli array e il gioco è fatto...senza appesantire inutilmente la pagina


    grazie a tutti

    ciao!

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.