Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    183

    Includere una pagina e aggiungere funzione

    Sarò breve, scusate i termini poco tecnici,

    devo includere una pagina esterna header.html e devo aggiungere una funzione al tag BODY della pagina dda includere es:

    <?php

    /* HEADER */
    include('header.html');
    /* HEADER */

    ?>

    =============================================

    // header.html contiene la stringa che segue//

    <body onload="MM_preloadImages('/web/images/tasto_home_fx.gif','/........') onunload="GUnload()">


    // header.html deve essere modificato con l'aggiunta di " ;load() " //

    <body onload="MM_preloadImages('/web/images/tasto_home_fx.gif','/........') ;load() onunload="GUnload()">

    =================================================



    Grazie mille buona serata.


    P.S. se esiste qualche discussione in tema fatemi sapere io non ho trovato nulla!!

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    183

    Includere una pagina e aggiungere funzione

    Originariamente inviato da marckj
    Sarò breve, scusate i termini poco tecnici,

    devo includere una pagina esterna header.html e devo aggiungere una funzione al tag BODY della pagina dda includere es:

    <?php

    /* HEADER */
    include('header.html');
    /* HEADER */

    ?>

    =============================================

    // header.html contiene la stringa che segue//

    <body onload="MM_preloadImages('/web/images/tasto_home_fx.gif','/........') onunload="GUnload()">


    // header.html deve essere modificato con l'aggiunta di " ;load() " //

    <body onload="MM_preloadImages('/web/images/tasto_home_fx.gif','/........') ;load() onunload="GUnload()">

    =================================================



    Grazie mille buona serata.


    P.S. se esiste qualche discussione in tema fatemi sapere io non ho trovato nulla!!

  3. #3
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    una soluzione potrebbe essere questa:

    Codice PHP:
    ob_start();
    include(
    "header.htm");
    $header=ob_get_contents();
    ob_end_clean();

    $header=str_replace ("<body>","<body bla bla bla >",$header);
    echo 
    $header

    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    183
    In buona sostanza cancello il tag <body> della pagina inclusa e lo scrivo di sana pianta!!

    grazie mille per la risposta,
    ora provo poi faccio sapere.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    183
    Niente non funziona... ti spiego meglio com'è strutturata la cosa, cerca di capire che pure io non sono un fenomeno!!

    Allora:

    io ho la pagina home.php, contatti.php, etc... costruita nel seguente modo:


    <?php
    /* HEADER INIZIO TABELLA */
    include('header.php');
    /* HEADER INIZIO TABELLA */

    /* BODY INIZIO TABELLA */
    include('body.php');
    /* BODY FINE TABELLA */

    /* FOOTER INIZIO TABELLA */
    include('footer.php');
    /* FOOTER INIZIO TABELLA */

    ?>

    in buona sostanza ho creato 2 pagine header.php e footer.php che uso per tutte le pagine del
    sito... quindi se apporto una modifica tutto il sito si modifica. Tipo i frame del l'HTML.

    La pagina header.php contiene solo questa parte che segue:

    !--HEADER INIZIO TABELLA-->

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title></title>
    <link href="/web/images/style.css" rel="stylesheet" type="text/css" />





    <script type="text/JavaScript">
    <!--
    function MM_swapImgRestore() { //v3.0
    var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
    }

    function MM_preloadImages() { //v3.0
    var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
    }

    function MM_findObj(n, d) { //v4.01
    var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
    if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
    for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
    if(!x && d.getElementById) x=d.getElementById(n); return x;
    }

    function MM_swapImage() { //v3.0
    var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
    if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
    }
    //-->

    <!--
    function load() {
    var map = new GMap2(document.getElementById("map"));
    var center = new GLatLng(93.116617,112.277908);
    map.addControl(new GSmallMapControl());
    map.addControl(new GMapTypeControl());
    map.setCenter(new GLatLng(93.116617,112.277908), 15);
    var marker = new GMarker(center, {draggable: false});
    GEvent.addListener(marker, "dragstart", function() {
    map.closeInfoWindow();
    });
    GEvent.addListener(marker, "draggablek", function() {
    marker.openInfoWindowHtml("");
    });
    map.addOverlay(marker);

    }

    //-->



    </script>




    </head>

    <body onload="MM_preloadImages('/web/images/tasto_home_fx.gif',/web/images/tasto_dove_fx.gif',')" onunload="GUnload()">

    Quando la includo nella home.php ovio che mi copia tutto il codice sopra,
    io volevo sapere se esiste un modo per aggiungere ;load() nel <body>
    quando la richiamo da home.php


    ciao

  6. #6
    Vedi marckj quando in privato ti dicevo che load() era javascript e tu mi dicevi di no!

    Comunque continui a non spiegarti: tu vuoi che la funzione load() sia richiamata solo il alcune pagine del sito e non in tutte, oppure vuoi che lo script JS che compila la stessa funzione non sia richiamata in tutte le pagine??

    Comunque.... innanzi tutto prova a fare un file .js esterno all'interno del quale scrivi completamente il codice JS.

    codice:
    // file funzione_javascript.js
    
    <!--
    function MM_swapImgRestore() { //v3.0
    var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
    }
    
    function MM_preloadImages() { //v3.0
    var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
    }
    
    function MM_findObj(n, d) { //v4.01
    var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
    if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
    for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
    if(!x && d.getElementById) x=d.getElementById(n); return x;
    }
    
    function MM_swapImage() { //v3.0
    var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
    if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
    }
    //-->
    
    <!--
    function load() {
    var map = new GMap2(document.getElementById("map"));
    var center = new GLatLng(93.116617,112.277908);
    map.addControl(new GSmallMapControl());
    map.addControl(new GMapTypeControl());
    map.setCenter(new GLatLng(93.116617,112.277908), 15);
    var marker = new GMarker(center, {draggable: false});
    GEvent.addListener(marker, "dragstart", function() {
    map.closeInfoWindow();
    });
    GEvent.addListener(marker, "draggablek", function() {
    marker.openInfoWindowHtml("");
    });
    map.addOverlay(marker);
    
    }
    
    //-->
    Questo file (semplice testo ma con estensione JS) lo salvi in una cartella del sito oppure nella root e lo richiami tra i tag head delle tue pagine.
    Codice PHP:
    <?php
    // pagina header.php

    $header " ".
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title></title>
    <link href="/web/images/style.css" rel="stylesheet" type="text/css" />

    <script type="text/JavaScript" src=""></script>

    </head>
    <? php
    "
    <body onload=\"MM_preloadImages(\'/web/images/tasto_home_fx.gif\',\/web/images/tasto_dove_fx.gif\',\')\" 
    $load onunload=\"GUnload()\">";
    ?>
    Quando nella tua pagina home.php vai a richiamare l'header e lo mandi in echo, così ti vai a creare al volo la tua bella pagina.
    Ora, se in una pagina vuoi che sia richiamata la funzione load() presente nel file javascript, puoi benissimo fare un IF che ti vada a riempire o meno la variabile $load presente nell'ultima parte del codice qua sopra.

    Codice PHP:
    <?php
    include('header.php');
    include(
    'footer.php');

    $pagina_corrente basename($_SERVER['PHP_SELF'];

    if (
    $pagina_corrente == "home.php" OR $pagina_corrente == "contatti.php" /* OR tutte le pagine in cui vuoi mettere la funzione load() */) {
    $load "; load() ";
    } else {
    $load "";
    }

    // stampi il contenuto di $header, richiamato via include
    // e magicamente vedrai funzionare tutto
    echo $header;

    ?>
    Ultima cosa.
    In privato ti ho chiesto in 16 lingue di spiegare cosa intendevi per
    non funziona
    .
    Io non so se dopo 700 tentativi sono riuscito a capire cosa intendi e cosa ti serve.
    Speriamo bene adesso!
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    183
    Lo sò hai ragione ... ti ho stressato...
    scusa!!!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.