• User Attivo

    menu in php

    Salve a tutti,
    spero che qualcuno possa aiutarmi!

    Ho bisogno di un menu in php per il mio sito lecasedelmarallo.it; il menu deve apparire come quello, ma essere disposto in verticale.
    Purtroppo non conosco php, per questo vi chiedo una mano!
    I requisiti che il menu deve avere:

    • il nome del link nel menu non sempre corrisponde al nome visualizzato nel browser: ad esempio "index.php" nel menu viene visualizzata come "home".
    • quando mi trovo nella pagina "home" il link deve cambiare colore rispetto agli altri, in modo da sapere che mi trovo in quella pagina, ma non dev'essere disattivato il collegamento. Inoltre, nella pagina "appartamenti in affitto", ad esempio, ho delle sottocategorie, e quindi ci dovrebbe essere un modo per cui anche nelle sottocategorie di "appartamenti in affitto", il link "app. in affitto" sia di colore diverso.
    • la dimensione (larghezza)dei link dev'essere la stessa per tutti.

    Credo sia tutto.
    Grazie davvero a chi riesce a darmi una mano!


  • User Attivo

    [HTML]<style>
    .voce_menu {width:100px; background-color:#FC0; margin:0px 5px 5px 0px; padding:5px; border:1px solid #66F;}
    .voce_menu a:link, .voce_menu a:visited {color:#66F; text-decoration:none; font:8pt Verdana;}
    .voce_menu a:hover {background-color:#66F; color:#FFF;}
    .voce_menu_attivo {width:150px; height:25px; background-color:#0F0;}
    .voce_menu_attivo a:link, .voce_menu a:visited {color:#FFF; text-decoration:none;}
    .voce_menu_attivo a:hover {color:#000;}
    </style>

    <div>
    <div class="voce_menu<?php if ($_GET['sez']=='') echo '_attivo'; ?>"><a href="index.php">Home</a></div>
    <div class="voce_menu<?php if ($_GET['sez']=='1') echo '_attivo'; ?>"><a href="index.php?sez=1">Appartamenti</a></div>
    <div class="voce_menu<?php if ($_GET['sez']=='2') echo '_attivo'; ?>"><a href="index.php?sez=2">Prezzi</a></div>
    <div class="voce_menu<?php if ($_GET['sez']=='3') echo '_attivo'; ?>"><a href="index.php?sez=3">Prenotazioni</a></div>
    <div class="voce_menu<?php if ($_GET['sez']=='4') echo '_attivo'; ?>"><a href="index.php?sez=4">Condizioni</a></div>
    <div class="voce_menu<?php if ($_GET['sez']=='5') echo '_attivo'; ?>"><a href="index.php?sez=5">Servizi Addizionali</a></div>
    <div class="voce_menu<?php if ($_GET['sez']=='6') echo '_attivo'; ?>"><a href="index.php?sez=6">Territorio</a></div>
    <div class="voce_menu<?php if ($_GET['sez']=='7') echo '_attivo'; ?>"><a href="index.php?sez=7">Come Arrivare</a></div>
    <div class="voce_menu<?php if ($_GET['sez']=='8') echo '_attivo'; ?>"><a href="index.php?sez=8">Gallery</a></div>
    <div class="voce_menu<?php if ($_GET['sez']=='9') echo '_attivo'; ?>"><a href="index.php?sez=9">Contatti</a></div>
    <div class="voce_menu<?php if ($_GET['sez']=='10') echo '_attivo'; ?>"><a href="index.php?sez=10">Siti Amici</a></div>
    </div>[/HTML]

    Questa è una bozza di codice che ti permette di creare il menu verticale pari a quello che ora c'è nel sito, che ti evidenzia la voce di menu in cui ti trovi, e che, se strutturate bene le sottocategorie, funziona anche per quelle.
    Mi spiego, se le sottocategorie sono del tipo [HTML]<a href="index.php?sez=1&subcat=1">SottoCategoria1</a>[/HTML] allora il codice sopra vale anche per le sottocategorie.

    Scrivi se c'è qualcosa che non ti torna.


  • User Attivo

    Scusa, ma non conosco php.
    Allora, il menu così funziona, però non ho capito come devo salvare le varie pagine e le sottocategorie per fare in modo che il link funzioni...
    Grazie!


  • User Attivo

    Senza andarci ad impegolare con una cosa che non conosci, strutturiamo la cosa in linguaggio html, a te più familiare.
    Allora basta creare tutte le pagine per ogni sezione e sottocategoria, e cambiare "manualmente" solo lo stile della voce del menu che ci interessa.

    In questo caso, il menu sarà fatto così:
    [HTML]<style>
    .voce_menu {width:100px; background-color:#FC0; margin:0px 5px 5px 0px; padding:5px; border:1px solid #66F;}
    .voce_menu a:link, .voce_menu a:visited {color:#66F; text-decoration:none; font:8pt Verdana;}
    .voce_menu a:hover {background-color:#66F; color:#FFF;}
    .voce_menu_attivo {width:150px; height:25px; background-color:#0F0;}
    .voce_menu_attivo a:link, .voce_menu a:visited {color:#FFF; text-decoration:none;}
    .voce_menu_attivo a:hover {color:#000;}
    </style>

    <div>
    <div class="voce_menu_attivo"><a href="index.html">Home</a></div>
    <div class="voce_menu"><a href="appartamenti.html">Appartamenti</a></div>
    <div class="voce_menu"><a href="prezzi.html">Prezzi</a></div>
    <div class="voce_menu"><a href="prenotazioni.html">Prenotazioni</a></div>
    <div class="voce_menu"><a href="condizioni.html">Condizioni</a></div>
    <div class="voce_menu"><a href="servizi.html">Servizi Addizionali</a></div>
    <div class="voce_menu"><a href="territorio.html">Territorio</a></div>
    <div class="voce_menu"><a href="arrivare.html">Come Arrivare</a></div>
    <div class="voce_menu"><a href="gallery.html">Gallery</a></div>
    <div class="voce_menu"><a href="contatti.html">Contatti</a></div>
    <div class="voce_menu"><a href="amici.html">Siti Amici</a></div>
    </div>[/HTML]

    Questo è l'aspetto del menu nella home page, ora ti basta fare le tue pagine delle sezioni e cambiare di volta in volta il valore dell'attributo "class" della voce di menu da "voce_menu" a "voce_menu_attivo", a seconda della sezione dove ti trovi.
    E se ti trovi in una sottocategoria di quella sezione, metti "voce_menu_attivo" alla voce del menu di quella sezione.

    Spero di essere stato chiaro, così evitiamo di affrontare il discorso php, se non è di tua familiarità.
    Scrivi pure per altre spiegazioni.


  • User Attivo

    Scusa se ti rompo ancora le scatole... a me servirebbe in php perchè il sito è abbastanza vasto e richiede spesso delle modifiche... quindi volevo mettere il menu nelle varie pagine con l'include proprio per non dover cambiare manualmente ogni volta tutte le pagine...
    E' molto complicato?
    Grazie ancora.


  • User Attivo

    Allora siamo a posto, avevo evitato il discorso php perchè avevo capito che non ne masticavi abbastanza 😄

    Allora, identifica uno spazio nella pagina php dove incorporare le altre pagine con la funzione "include" (sarà un div, una cella di una tabella, fai tu), e usa questo codice:
    [PHP]<?php
    switch($_GET['sez'])
    {
    case '1': include ('appartamenti.php'); break;
    case '2': include ('prezzi.php'); break;
    case '3': include ('prenotazioni.php'); break;
    case '4': include ('condizioni.php'); break;
    case '5': include ('servizi.php'); break;
    case '6': include ('territorio.php'); break;
    case '7': include ('come_arrivare.php'); break;
    case '8': include ('gallery.php'); break;
    case '9': include ('contatti.php'); break;
    case '10': include ('siti_amici.php'); break;
    default: include ('home.php'); break;
    }
    ?>[/PHP]

    Ora, in ognuna di queste pagine dovrai ripetere lo stesso lavoro per includere le sottocategorie, utilizzando lo stesso sistema di switch ma cambiando l'argomento, così facendo:
    [PHP]<?php
    switch ($_GET['subcat'])
    {
    case '1': include ('appartamenti/sottocategoria1.php'); break;
    case '2': include ('appartamenti/sottocategoria2.php'); break;
    case '3': include ('appartamenti/sottocategoria2.php'); break;
    .
    .
    .

    }
    ?>[/PHP]
    Questo è un esempio di come potrebbe funzionare l'inclusione delle sottocategorie nella sezione "appartamenti". Conviene creare una cartella per ogni sottocategoria, così da tenere le pagine php da includere ordinate, evitando il caos 😮

    Quindi, i link delle sottocategorie saranno fatti in questo modo:
    [HTML]<a href="index.php?sez=1&subcat=1">SottoCategoria1 della Sezione1</a>[/HTML]

    Questa è una soluzione, possiamo svilupparne altre se mi consenti l'uso dei database.
    Come pensi di aggiornare queste sezioni e sottocategorie?


  • User Attivo

    aaaaahhhh!!!
    Lo so, sono un disastro! ho provato ma non mi funziona niente, combino un casino!
    Guarda, se hai 5 minuti, ti chiedo una gentilezza veramente grande grande...
    Potresti impostarlo tu con la home e un'altra pagina (tipo appartamenti) e due sottocategorie di appartamenti (casa1 e casa 2 tipo...), così evito di stressarti e funziona sicuramente?
    Magari mi mandi la cartellina per mail, mi faresti davvero un favore enorme!
    La mail è: liamuscogiurilibero.it
    Sempre se non è un disturbo...
    Grazie ancora!


  • User Attivo

    Ho fatto una bozza e inviata sulla tua casella di posta, spero sia soddisfacente e di facile comprensione.