Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    14

    assegnazione contenuto pagina html a variabile

    chiedo scusa ma non ci capisco una mazza, sto leggendo libri ma imparo MOLTO lentamente ... vorrei creare un template da una pagina html già formattata con i css, e vorrei inserire in alcune aree di esso del testo che poi personalizzarò di pagina in pagina...per fare ciò ho usato all'interno del template negli opportuni punti la dichiarazione
    codice:
    echo $var
    ed ho dichiarato la variabile in un'altra pagina che sarebbe quella che voglio personalizzare di volta in volta...
    La mia domanda è questa: come faccio a dichiarare la variabile di modo che essa corrisponde al codice html contenuto in un'altra pagina html? In pratica vorrei che il contenuto venisse prelevato direttamente da un'altra pagina... ho provato con
    codice:
    include ('includes/pagina.html')
    ma mi importa i testi fuori dal layout del template....
    Grazie.

  2. #2
    Utente di HTML.it L'avatar di marco_c
    Registrato dal
    Jun 2004
    Messaggi
    1,047
    non so se capisco bene il problema, ma immagino che il template HTML avrà un certo formato sintattico per poter fare il replace delle variabili, per esempio io uso le graffe

    Codice PHP:
    <div id="articolo">
       [
    b]{titolo}[/b]
       {
    testo}
    </
    div
    il tuo script php aprirà e leggerà il file HTML,
    poi farà il replace delle variabili tra graffe con l'effettivo valore che hai
    e infine stampa tutto il template (modificato con i valori effettivi) a video

    Codice PHP:
    $tpl file_get_content("template.html");

    $titolo "Titolo dell'articolo";
    $testo "Testo dell'articolo";

    $tpl str_replace("{titolo}"$titolo$tpl);
    $tpl str_replace("{testo}"$testo$tpl);

    echo 
    $tpl
    Gli uomini si dividono in due categorie: i geni e quelli che dicono di esserlo. Io sono un genio.

  3. #3
    Utente di HTML.it L'avatar di Luke70
    Registrato dal
    Jul 1999
    Messaggi
    767
    Ciao zorilla
    anche io uso un sistema che non utilizza dei segnaposti (come {titolo}), ma direttamente delle variabili.
    Non capisco il problema che hai con gli include: inseriscono il contenuto del file nel posto in cui tu li metti.

    Io ho implementato un sistema mio ispirato fortemente da questo http://www.massassi.com/php/articles/template_engines/ e un po' semplificato (non uso un sistema di cache)

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    14
    mi spiace ma sono veramente alle prime armi, per me parlate arabo...in pratica questo è parte del template (main.php):
    codice:
    <div id="contenitore">     
      <div id="contenuto">
         <div class="titolo_contenuto"><?php echo $titolo_contenuto; ?></div>
         <div class="testo_contenuto"><?php echo $testo_contenuto; ?></div>
      <div><?php echo $testo_contenuto_opzionale; ?></div>
      </div>
      <div id="sidebar">
        <div class="foto_sidebar"><?php echo $foto_sidebar; ?></div>       
        <div><?php echo $contenuto_sidebar_opzionale; ?></div>     
      </div>   
    </div>
    è questo sarebbe parte di una pagina collegata (index.php):
    codice:
    <?php   
    
    $page_title='titolo pagina'; 
    $titolo_contenuto='<h1>titolo contenuto</h1>'; 
    $testo_contenuto='testo contenuto'; 
    $testo_contenuto_opzionale='<div class="testo_contenuto">contenuto opzionale</div>'; $foto_sidebar='[img]../images/Home.jpg[/img]'; 
    $contenuto_sidebar_opzionale='<div class="contenuto_sidebar">contenuto sidebar</div>';  
    
    include('../templates/layout.php');  
    
    ?>
    In pratica mi va bene scrivere direttamente il titolo della pagina ed il titolo del contenuto direttamente assegnandoli alle relative variabili, ma vorrei che il "testo contenuto" facesse riferimento al codice html contenuto in un'altro file html...

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    14
    ho risolto utilizzando il codice suggerito sopra da Marco:
    codice:
    $var = file_get_content("file.html");
    ...ora vorrei sapere come fare ad applicare una classe CSS nella definizione di questa variabile affinchè il testo venga direttamente formattato...ho provato questo ma non funziona:
    codice:
    $var="<div class=\"classe\">file_get_contents (\"file.html\")</div>";

  6. #6
    Utente di HTML.it L'avatar di marco_c
    Registrato dal
    Jun 2004
    Messaggi
    1,047
    beh ma se vuoi applicare un classe CSS a un elemento del template HTML non lo fai dallo script PHP, ma la scrivi direttamente dentro l'HTML! In questo modo hai separato il codice PHP dalla presentazione grafica.

    Se per qualche motivo hai bisogno di cambiare al volo la classe CSS (per esempio se il risultato di un'operazione è maggiore di zero dai lo sfondo verde, se invece è minore di 0 dai lo sfondo rosso) allora farai un altro replace

    Codice PHP:
    // file HTML
    <div class="<?php echo $class_name ?>">
    Contenuto del DIV
    </div>
    Codice PHP:
    // file PHP
    if ($risultato 0) { $class_name "sfondo-verde"; }
    else { 
    $class_name "sfondo_rosso"; } 
    Gli uomini si dividono in due categorie: i geni e quelli che dicono di esserlo. Io sono un genio.

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    14
    hai ragione Marco, il fatto è che questa rappresenta un'area opzionale che non sempre deve essere presente perciò quando è presente devo applicare una classe di sfondo con relativa formattazione del contenuto, ma con la soluzione che hai suggerito te credo di poterlo fare in maniera ottimale...grazie mille!

    ...possiamo considerare chiuso il post!

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.