Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Include() e templates

  1. #1

    Include() e templates

    Salve
    premetto che sono completamente niubbo di php e sto cominciando ora a studiarlo, volevo porvi un problema.

    Mi sono interessato al php principalmente perché ho scoperto che con la funzione include() è possibile fare un riferimento ad un altro file per copiare tutto il contenuto di esso nel file chiamante. Ciò ti permetterebbe in effetti di creare template per i siti posizionati in pochi file e lasciare nei varie pagine la parte variabile: molto utile quando cominci ad avere molte pagine e devi fare modifiche comuni a tutte.

    Voi come consigliate di gestire la cosa? Va bene include() o ci sono metodi migliori? usate poche chiamate o molte per rendere il tutto più leggibile?

  2. #2
    Allora, ho risolto con una tecnica che forse può essere utile condividere:

    Nella pagina chiamata si mette questo codice:
    Codice PHP:
    <?php
        $css 
    "<link href=\"http://www.romasantandrea.sism.org/avvisi.css\" rel=\"stylesheet\" type=\"text/css\">\n";
        
    $title "Sism Roma S.Andrea: Home";
        
        include 
    '/home/sism_santandrea/romasantandrea.sism.org/php_include/before.php';
    ?>
    <div id="Content">
    [...]
    </div>
    <?php
        
    include '/home/sism_santandrea/romasantandrea.sism.org/php_include/after.html';
    ?>
    Ovvero, nel primo script si definiscono prima delle stringhe con le parti variabili della pagina in questione, cioè css, titolo ed eventualmente script o metatag (attenti agli slash per evitare il parsing delle virgolette). Poi si invoca un include che chiama il file contente il testo comune da inserire. All'interno di questo file ci sono delle funzioni echo (<?php echo $css ?>) che stampano ciò che è contenuto nelle variabili del file chiamante.
    Stessa cosa nello script di chiusura.

    È una buona soluzione e permette di risparmiare molto tempo se devi modificare qualcosa nella parte comune di molte pagine.

    C'è un problema però... Quando uso questo metodo alcuni caratteri (vocali accentate per esempio) si perdono e sono sostituite dal punto interrogativo. Ho provato a spostare il metatag con il charset nella pagina chiamante ma nn cambia niente.
    Come posso fare a risolvere il problema?

  3. #3
    Perchè non usi uno delle centinaia di template engine disponibili?

    Per quanto riguarda il problema di encoding, verifica la codifica del file e il charset utilizzato

  4. #4
    Originariamente inviato da filippo.toso
    Perchè non usi uno delle centinaia di template engine disponibili?
    Mah, mi piace smanettare !

    Per quanto riguarda il problema di encoding, verifica la codifica del file e il charset utilizzato
    Non credo sia quello perché nella versione html delle stesse pagine il problema nn c'è e hanno esattamente lo stesso codice html senza la parte 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.