• Moderatore

    Div, Frame oppure...

    Ciao a tutti,
    spero questa volta di avere postato nella sezione giusta;)

    Ho un dubbio sul mio sito che vorrei sottoporvi:

    Ho molte pagine che devono avere lo stesso div in cui è inserito un menu verticale (a sinistra della pagina).
    Ogni volta che devo aggiornare questo menu faccio molta fatica perchè devo cambiare il div di ogni pagina.

    Pensa e ripensa mi è tornata in mente una tag che avevo studiato sulla guida html: Il frame.
    Non l' ho mai dovuto usare e comunque uso i div con overflow che graficamente lo sostituiscono, però penso che potrebbe essere una soluzione al mio problema.
    Infatti potrei fare una pagina web col menù e poi metto il frame di quella pagina nelle altre pagine così da aggiornarle automaticamente.

    Che ne pensate? E' una buona idea? Il frame da problemi di visualizzazione IE/FF?

    Se invece avete pensato ad un' altra soluzione magari sempre usando i div fatemelo sapere!

    Vi posto il codice parziale di una delle pagine in questione così capite meglio la situazione

    Html:
    <div id="menuv">Testo<br>
    <div id="menuv2"><dl>(Questo elenco è quello che aggiorno)</dl></div>
    </div>
    <div id="separe2v">(questo div è sottile e ha un immagine di sfondo come separatore)</div>
    <div id="vetrina"></div>

    Css:
    #menuv {
    width: 180px;
    background-image: url(url);
    background-repeat: repeat-x;
    height: 580px;
    float: left;
    }

    #menuv2 {
    width: 160px;
    height: 500px;
    overflow: auto;
    }
    #separe2v {
    background-image: url(url);
    background-repeat: repeat-y;
    width: 10px;
    height: 580px;
    float:left;
    }

    #vetrina {
    width: 810px;
    height: 580px;
    float:left;
    }

    Grazie infinite in anticipo
    Ivan;)


  • User Attivo

    Io metterei quello che aggiorni:

    <div id="menuv2"><dl>(Questo elenco è quello che aggiorno)</dl></div>

    in un file, per esempio menu.inc.

    Al posto di questo nelle pagine potresti inserire un'iclude del file menu.inc.

    **Include virtual **si usa con server Windows 2003 e 2008
    <!--#include virtual="menu.inc"-->
    mentre **Include file **si usa invece con server Windows 2000 e XP
    <!--#include file ="menu.inc"-->

    Il codice su tutte le pagine diventa:

    <div id="menuv">Testo<br>
    <!--#include file ="menu.inc"-->
    </div>
    <div id="separe2v">(questo div è sottile e ha un immagine di sfondo come separatore)</div>
    <div id="vetrina"></div>

    In questo modo cambiando i contenuti del file menu.inc aggiorni automaticamente tutte le pagine che lo includono.

    Ciao.


  • Moderatore

    Mi sembra un' ottima idea!
    Grazie Lebowski!

    Ho solo qualche dubbio:

    Ho cercato su internet l' estensione .inc e è uscita fuori una pagina che consigliava di sostituirla con .inc.php perchè è più sicuro che venga visualizzato correttamente, è vero?

    Nel menu' io ho un elenco <dl> che elenca del testo e dei link.
    L' ul verrà visualizzato correttamente?
    I motori di ricerca riusciranno a leggere i link?

    Grazie mille
    Ivan;)


  • Moderatore

    Un ultima cosa: il server che hosta i miei siti ha Debian Linux come sistema operativo: va bene comunque? Se sì quale delle due opzioni devo usare?


  • User Attivo

    L'estensione del file non è importante, puoi chiamarlo come vuoi, anche menu.html per esempio.
    Per quanto riguarda il server non credo sia un problema se ha installato Apache come web server, userai <!--#include file ="menu.inc"-->. Nessun problema per i link e motori di ricerca in quanto l'output html risulterà come se il codice incluso fosse scritto nella pagina.

    Ciao.


  • User Attivo

    L'include file prende come riferimento la posizione della pagina, mentre il virtual prende come riferimento la posizione del file da includere rispetto alla root.
    Quindi se il menu.html sta nella stessa dir della pagina che lo include va bene include file, altrimenti <!--#include virtual="percorso/menu.html " -->

    Quelle che ti ho descritto sono istruzioni asp, se invece usi php dovrai includere i file scrivendo:
    <?php include("filename.html"); ?> (di php non so molto altro).

    Ti ho mandato un pvt con il link a una guida valida per vari server web.

    Ciao.


  • Moderatore

    Ciao a tutti e grazie a Lebowsky per l' aiuto.
    Ho un problema:
    Il mio editor html non riconosce nè la scrittura asp <!--#include virtual="percorso/menu.html " --> nè quella php <?php include("filename.html"); ?>
    Io uso Alleycode.
    Pensate che dovrei provare a caricare comunque sul server e vedere se funziona?
    C' è un modo per attivare php e asp in alleycode?
    Grazie


  • Moderatore

    Ciao a tutti,
    Giusto ieri ho avuto la semplice (ma geniale) idea che mi ha permesso di risolvere il mio problema.

    Ho semplicemente creato una nuova sottocategoria che linko dalla home e dalle poche pagine di questa sottocategoria linko alla sottocategoria iniziale, dalle quali ho tolto il menu che a questo punto era inutile.
    In questo modo devo aggiornare una sola pagina (quella della nuova sotto categoria) invece di tutte quante! :yuppi:

    A volte le idee più semplici sono le migliori....:ciauz: