Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Menu con evidenziazione pagina corrente?

    Ciao a tutti!
    Da poco mi sto avvicinando al php e mi sto arrovellando su un esercizio...

    Devo creare un menu fisso che però abbia evidenziato il link della pagina corrente, esempio:

    abbiamo un menu con 3 voci: news, gallery, contatti

    vorrei che questo menu rimanesse sempre visibile e cambiare soltanto i contenuti sotto, quindi nella sezione news avrò degli articoli in stile blog, mentre nella sezione gallery avrò una carrellata di immagini, ma a questo punto ci arriverò poi...
    il problema adesso è che non riesco a capire come evidenziare la voce del menu che corrisponda alla pagina corrente.
    Mi spiego meglio: vorrei che quando clicco sulla sezione news la voce news del menu venisse evidenziata fino a quando non cambiamo sezione.

    Ho fatto qualche prova ma non ci levo le gambe!
    Qualcuno mi può indirizzare sulla giusta strada?
    codice:
    <body>
    
    <?php $current_page = basename($_SERVER["SCRIPT_NAME"]); ?>
    
    <ul>
    <a <?php if ($current_page == "index.php") echo "id='on'"; else echo "id='off'"; ?> href="http://localhost/index.php?action=index">news</a>
    <a <?php if ($current_page == "gallery.php") echo "id='on'"; else echo "id='off'"; ?> href="http://localhost/index.php?action=gallery">gallery</a>[/list]
    
    <?php
    
    $page = @$_GET["action"];
    
    if($page)
    {
         include_once($page.".php");
    }
    
    ?>
    </body>
    
    </html>
    ecco il css
    codice:
    #off
    {
    
    	float:left;
    	font-family:Arial, Helvetica, sans-serif;
    	text-transform:uppercase;
    	margin-top:120px;
    	margin-left:40px;
    	color:#c1c0c0;
            text-decoration: none;
    }
    
    #on
    {
    	float:left;
    	font-family:Arial, Helvetica, sans-serif;
    	text-transform:uppercase;
    	margin-top:120px;
    	margin-left:40px;
    	color:blue;
            text-decoration: none;
    }

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2011
    Messaggi
    27
    usa un parametro in $_GEt[] es:

    www.sito.com/nomedelfile.php?page=news

    ti prendi $_GET['page'] e sai in quale pagina sei ogni volta (in questo caso "news").

    crei e metti la classe class="active" all'elemento id="news" nel menu.

    la classe .active ti serve solo per evidenziare il link menu della pagina in cui ti trovi, le dai delle regole diverse da quelle standard dei link menu.

  3. #3
    perfetto grazie mille! proprio quello che volevo!
    certo sicuramente si può scrivere meglio...
    codice:
    <html>
    <head>
    <link rel="stylesheet" type="text/css" href="http://localhost/style.css" media="all">
    <title>www.test.com</title>
    </head>
    
    <body>
    
    <?php
    $page = @$_GET["action"];
    $page_list = array("news", "gallery", "onlylocals");
    ?>
    
    <ul> 
    >news 
    >only locals 
    >gallery[/list]
    
    <?php
    
    
    
    if (in_array($page, $page_list))
    {
    	include_once($page.".php");
    }
    else include_once("news.php");
    
    ?>
    
    </body>
    
    </html>

  4. #4
    stavo pensando però che in questo modo tutto il sito rimmarrà sulla index
    è un modo convenzionale di lavorare?

    nella maggior parte dei casi come viene strutturato un sito dinamico?

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.