Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    150

    Creare più pagine aventi lo stesso template

    Salve,
    supposto di voler creare molte pagine aventi lo stesso template avente come struttura generale (la solita):

    - header con logo
    - menù laterale
    - contenuto vero e proprio della pagina in esame
    - footer

    è possibile scomporlo in parti di codice ed usare gli include ( oltre a poter utilizzare dei passaggi di parametri come http://www.domain.com/index.php?page=main, http://www.domain.com/index.php?page=contatti ecc... ma per alcune pagine, almeno io, preferisco usare http://www.domain.com/index.php , http://www.domain.com/main.php , http://www.domain.com/contatti.php ecc .... perchè, sempre a pare personale, si indicizzano di più nei motori di ricerca)


    Ciò che chiedo è se è possibile semplificare il tutto riducendo il numero degli include per ogni pagina nel senso che in asp conosco un modo più veloce per includere il template

    Infatti la pagina che contiene il contenuto vero e proprio la posso , ad esempio chiamare contatti.asp e semplicemente scriverlo tra i "tag":

    Codice PHP:
    <% 
    Sub Mostra() 
    %>
    codice htlm bla bla bla bla
    <% End Sub %> 
    e nel template.asp, mettere semplicemente

    Codice PHP:
    <%Mostra%> 
    nel punto del template stesso in cui voglio far apparire il contenuto della pagina contatti.asp


    Non solo, ad ogni pagina posso anche far cambiare i tag <title></title>, ecc... semplicemente valorizzando le opportune variabili in contatti.asp ( e questo lo capisco ancora di meno perchè le variabili vengono valorizzate dopo che essere devono essere usate )


    Esiste tale soluzione anche in php ? semplifica di molto tutte le suddivioni da fare con gli include !!

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    Questa è la sezione php, non asp

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    150
    Infatti ho chiesto se si può fare in php quello che ho illustrato in asp

  4. #4
    Io personalmente opero in tal modo.

    supponiamo di trovarci in index.php

    Immagino la mia pagina index.php composta di 3 tabelle.
    La tabella superiore contenente l'header con il logo;
    La tabella centrale composta da 2 colonne, la colonna di sinistra per il menù, quella di destra per il centro pagina.

    Una tabella inferiore contenente il footer

    all'inizio metto l'include per l'header con il logo

    include('header_con_logo');

    poi apro la mia tabella centrale,

    <TABLE BORDER......>
    <TR>
    <TD>

    a questo punto includo il menù laterale, con

    include('menu.inc');

    chiudo la colonna di sinistra

    </TD>

    apro la colonna di destra
    <TD>

    - contenuto vero e proprio della pagina in esame

    </TD>
    </TR>
    </TABLE>

    a questo punto faccio:

    include('footer.inc');

    In tal modo, l'unica cosa ke c'è da cambiare ad ogni pagina .php è il contenuto della colonna di destra della tabella centrale.

    Alla fine sono solo 3 i file ke includi, nn quindi la tua necessità di ridurre il numero degli include, sono già pochi!

    Poi, non ho ben capito l'esempio ke hai fatto.

    <%
    Sub Mostra()
    %>
    codice htlm bla bla bla bla
    <% End Sub %>

    Questo ke vuol dire che Mostra() è una specie di funzione, che contiene un certo codice, e richiamando Mostra richiami il codice in esso contenuto?
    Se è così, puoi anche in php crearti delle funzioni con il comando function........
    e, comunque, il richiamare Mostra() per farti visualizzare codice html è lo stesso che richiamare un file con include('....') contenente lo stesso codice html.


    Hai scritto:

    Non solo, ad ogni pagina posso anche far cambiare i tag <title></title>, ecc... semplicemente valorizzando le opportune variabili in contatti.asp ( e questo lo capisco ancora di meno perchè le variabili vengono valorizzate dopo che essere devono essere usate )

    Potresti spiegarti meglio?

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    150
    Il metodo che utilizzi è sicuramente efficacie ma secondo me non rapido come quello che dico io perchè ad esempio vuoi allargare la colonna di sinistra per il menù ( e conseguentemente ridurre la larghezza della colonna destra della tabella centrale con il contenuto ), lo devi fare in tutte le pagine .php

    <%
    Sub Mostra()
    %>
    codice htlm bla bla bla bla
    <% End Sub %>

    Questo ke vuol dire che Mostra() è una specie di funzione, che contiene un certo codice, e richiamando Mostra richiami il codice in esso contenuto?
    Se è così, puoi anche in php crearti delle funzioni con il comando function........
    e, comunque, il richiamare Mostra() per farti visualizzare codice html è lo stesso che richiamare un file con include('....') contenente lo stesso codice html.
    Sub Mostra() dovrebbe essere quello che in asp rappresenta un "Sub Routine" ma non so altro..

    Non solo, ad ogni pagina posso anche far cambiare i tag <title></title>, ecc... semplicemente valorizzando le opportune variabili in contatti.asp ( e questo lo capisco ancora di meno perchè le variabili vengono valorizzate dopo che essere devono essere usate )

    Potresti spiegarti meglio?
    Con il metodo che mi hai indicato tu, ad esempio quello che è racchiuso tra i tag <title>Titolo pagina</title> non lo puoi cambiare ad ogni pagina, ossia puoi riuscirlo a fare ma con dei, diciamo, "trucchi"

    Quello che intendevo io è il seguente:

    E' come se tu nel tuo header fosse presente questa riga di codice:
    Codice PHP:
    <title><? echo "$titoloPagina"?></title>
    e valorizzassi il contenuto della varibaile $titoloPagina = "bla bla bla"; all' interno della colonna destra della tabella centrale dove scrivi il contenuto delle pagine. Ciò non potrebbe funzionare perchè prima che il browser arrivi al contenuto vero e proprio della pagina, deve aver già messo qualcosa tra <title> e </title> ..... con il metodo asp che invece ho illustato si può fare......anzi, lo fa e funziona

  6. #6
    Ecco perchè si utilizzano i fogli di stile

  7. #7
    Per la larghezza delle colonne, quindi l'impostazione grafica della pagina, si usano come ha detto Virpel, i fogli di stile.

    Per quello che tu dici, invece:


    <title><? echo "$titoloPagina"; ?></title>


    basta semplicemente inizializzare tutte le variabili ke ti occorrono, prima di fare l'include.
    Nell'esempio succitato, il file header.inc avrà tra le altre linee di codice:

    <title><? echo "$titoloPagina"; ?></title>

    allora, prima di richiamare header.inc, esegui quel codice php ke ti permette di inizializzare $titoloPagina.

    Potresti ovviamente osservare che solo alcune delle pagine richiedono un titolo pagina diverso, quindi solo in alcuni casi necessiti di $titoloPagina.

    In tal caso in header.inc puoi mettere:

    <title>
    <?
    if (isset($titoloPagina))
    echo "$titoloPagina";
    else echo "TITOLO STANDARD DELLE PAGINE";
    ?></title>


    Ritornando al Sub Mostra()....

    <%
    Sub Mostra()
    %>
    codice htlm bla bla bla bla
    <% End Sub %>

    In pratica, in ogni pagina asp dove usi Mostra() devi avere anke la definizione di Mostra, stesso? Se così ke vantaggi ci sono, visto ke se vuoi modificare il contenuto di Mostra, lo devi fare in ogni pagina asp dove la usi?

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    150
    Concordo sull' uso dei fogli di stile e sulla possibilità ovviamente di cambiare titolo ad ogni pagina ma il vantaggio c'è e come.

    Tu, gianf_tarantino, usi 3 include, io con il modo indicato ne uso solo uno, ossia icludo tutto il template nella pagina che conterrà il contenuto e che gli posso dare il nome che mi pare pippo.asp ecc....

    C'è una bella differenza con l' avere il template spezzettato in 3 parti , header, menù, footer ( specialmente per chi non conosce molto bene l' html... per fortuna non è il caso mio ... ).

    Di certo puoi trovare il modo per ridurre lo "spezzamento" del template ma come dico io hai due pagine e basta:

    1) template.asp
    2) nome_che_vuoi.asp ( che include il template con un solo include )


    Alla fine mi sembra di star a creare un gran polverone, ma io volevo solo sapere se c'è questa possibilità in php......

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.