• User

    includere file

    vorrei evitare di copiare titolo, menu... e quant'altro in tutte le pagine del sito. Qual'è il sistema più adatto per ripetere medesimi contenuti in più pagine?
    Come devo procedere?
    Conosco l'HTML ma non ASP e PHP.
    Grazie


  • Super User

    Cosa intendi usare innanzitutto? Se usi asp.net, basta che usi le master pages, per asp o php, fai degli include del tipo <!-- #include file="/include/file.asp"--> per asp o include('file.php'); per php. Quindi ad esempio una pagina tipo potrebbe essere:

    
    <!-- file="/include/header.asp"-->
    
    Contenuto
    
    <!-- file="/include/footer.asp"-->
    
    

  • User

    @cali1981 said:

    Cosa intendi usare innanzitutto? Se usi asp.net, basta che usi le master pages, per asp o php, fai degli include del tipo <!-- #include file="/include/file.asp"--> per asp o include('file.php'); per php. Quindi ad esempio una pagina tipo potrebbe essere:

    >
    <!-- file="/include/header.asp"-->
     
    Contenuto
     
    <!-- file="/include/footer.asp"-->
    
    >```
     
     
    Ipotizziamo di usare asp.net:
    ho questa pagina con una tabella e una scritta che ho editato con expression web.
     
    **<head>**
    **<meta http-equiv="Content-Language" content="it" />**
    **<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />**
    **<title>Prova</title>**
    **<style type="text/css">**
    **.style1 {**
    **background-color: #FF0000;**
    **}**
    **.style2 {**
    **text-align: center;**
    **background-color: #C0C0C0;**
    **}**
    **</style>**
    **</head>**
    **<body>**
    **<table style="width: 100%" class="style1">**
    **<tr>**
    **<td class="style2" style="width: 50%">Prova</td>**
    **<td>&nbsp;</td>**
    **</tr>**
    **<tr>**
    **<td>&nbsp;</td>**
    **<td>&nbsp;</td>**
    **</tr>**
    **</table>**
    **</body>**
    **</html>**
     
    creata la pagina la salvo (file save As prova.asp) e già qui credo di sbagliare!! (mi puzza il fatto di avere una pagina asp con il codice all'interno di <html> </html>)
     
    creo una nuova pagina dove inserire l'include...tipo questa:
     
    **<head>**
    **<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />**
    **<title>Untitled 1</title>**
    **</head>**
    **<body>**
    **<table style="width: 100%">**
    **<tr>**
    **<td>**
     
    ***<!-- file="prova.asp"-->***
     
    **</td>**
    **</tr>**
    **</table>**
    **</body>**
    **</html>**
     
    a questo punto si dovrebbe vedere il titolo, ma non si vede nulla.
     
    E' evidente che sbaglio grossolanamente!! In cosa??
     
    grazie

  • Super User

    Beh dall'esempio che hai fatto tu, l'output HTML dovrebbe essere qualcosa del tipo:

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
    <title>Untitled 1</title>
    </head>
    <body>
    <table style="width: 100%">
    <tr>
    <td>

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
    <title>Prova</title>
    </head>
    <body>
    ......

    </body>
    </html>

    </td>
    </tr>
    </table>
    </body>
    </html>

    Mentre il file incluso non dovrebbe avere tutti gli altri tag, e cioè html body ecc. Inoltre, credo tu sia un pò confuso, perchè parli di aspnet ma usi file .asp, che invece sono per il *vecchio *ASP. Ti consiglio di leggerti una bella guida prima di cominciare a programmare!


  • User

    Se usi html senza script lato server, e usi Dreamweaver come editor, a mio avviso ti conviene usare il sistema di template di dreamweaver. Il quale è davvero molto semplice da usare ed è veramente potente.

    Se usi php, ti basta creare un file con la porzione di html che vuoi ripetere, posizionarti nella pagina in cui deve essere incluso il codice HTML e scrivere ```
    <?php include("file_menu.php");?>

    
    Per ASP.NET invece il discorso cambia, in questo caso specifico ti converrebbe usare una Master Page, ma a mio avviso è troppo complesso da spiegare in un post.. dovresti leggerti una guida.
    
    Per Asp ti hanno già risposto, ed è molto simile al sistema di PHP :)
    
    Spero di essere stato esauriente
    :ciauz:

  • User

    Grazie,
    provo ad usare PHP, vediamo cosa viene fuori.


  • User

    con le master page ho risolto molti problemi!!!!:fumato:

    Seguendo i passi descritti è veramente facile realizzare pagine con file inclusi.
    Grazie

    To create a page based on a master page

    • On the File menu, click New, then click Page.
    • In the Page tab of the New dialog box, select General or ASP.NET in the list at the left and Create from Master Page in the center list.
    • Set the default programming language for your page in the Programming Language dropdown in the Options area.
    • In the first Select a Master Page dialog box, choose either Use default Master Page (if one is specified in the web.config file for the site) and click OK or select the Specific Master Page option button and click Browse.
    • If you clicked Browse, select the desired master page in the second Select a Master Page dialog box and click OK.Note If you don't need to set the Programming Language for the page, you can open the Select a Master Page dialog box by hovering the mouse pointer over New on the File menu to expand the submenu, then click Create from Master Page.

    You can also attach a master page to an .aspx file that was not created based on the master page.
    To attach a master page to an .aspx file

    • On the Format menu, click Master Page, then click Attach Master Page.
    • In the first Select a Master Page dialog box, choose either Use default Master Page (if one is specified in the web.config file for the site) and click OK or select the Specific Master Page option button and click Browse.
    • If you clicked Browse, select the desired master page in the second Select a Master Page dialog box and click OK.

    Basta poi caricare le pagine su di un server e il gioco è fatto!:bigsmile:


  • User

    vediamo uno script semplice per una pagina da includere
    (sono due tabelle rosse e verdi).

    <%@ Master Language="VB" %>
    <html dir="ltr" xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
    <title>Untitled 1</title>
    <asp:ContentPlaceHolder id="head" runat="server">
    </asp:ContentPlaceHolder>
    <style type="text/css">
    .style1 {
    background-color: #FF0000;
    }
    .style2 {
    background-color: #008000;
    }
    </style>
    </head>
    <body>
    <form id="form1" runat="server">
    <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
    <table style="width: 100%">
    <tr>
    <td class="style2"> </td>
    <td> </td>
    </tr>
    <tr>
    <td> </td>
    <td class="style1"> </td>
    </tr>
    </table>
    </asp:ContentPlaceHolder>
    </form>
    </body>
    </html>

    salviamo e nominiamo Untitled_1.master

    ora creiamo la pagina che conterrà il file da includere (Untitled_1.master)

    <%@
    Page Language="VB" masterpagefile="Untitled_1.master" title="Untitled 1"
    %>

    che salviamo e nominiamo Untitled_1.aspx

    Il lavoro è finito basta solo caricare le due pagine sul server.:ciauz: