Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    problema con stupida classe di templating

    Salve a tutti, ho scritto una piccolissima classe di templating, che funziona in questo modo:
    <?php
    $ t = new template();
    $modulo = new module(); //Per l'esempio scrivo un modulo generico
    $t->setTemplate($file); // $file rappresenta un file HTML con dei tag %%TAG%% in cui inserire l'output
    $t->assignTag('TAG',$modulo->output()); //Il metodo output restituisce dati da infilare nel template
    $t->showTemplate();
    ?>


    Il mio problema sta nel fatto che se il file index.php in questione non si trova nella directory in cui sono contenuti il file .css del template e le varie immagini, ciò che ottengo non è altro che una schifosissima pagina senza foglio di stile ed immagini


    Questo perchè è come se il codice html si trovasse spostato rispetto alla sua posizione inziale.

    Come potrei risolvere il problema??
    HO pensato di estrarre i tag che richiedono un indirizzo come <link> img ecc, ma non mi sembra per niente intelligente....

    Neanche spostare l'index.php è utile perchè altrimenti le caratteristiche che voglio, ovvero la possibilità di impostare il template che vogliamo va a farsi benedire.... sono vicino alla soluzione ma qualcosa mi sfugge


    sarà che studio troppo analisi
    Digital Riot!
    http://fatmatt.wordpress.com
    -Chi è disposto a rinunciare alla propria libertà in cambio di sicurezza, non merita ne libertà ne sicurezza- Benjamin Franklin

  2. #2
    Puoi usare il tag html <base>, che definisce la root di tutti i riferimenti, per esempio:

    Codice PHP:
    <head>
      <
    base href="http://forum.html.it/" />
      ...
      <
    link rel="stylesheet" type="text/css" href="prova/stile.css" />
      ...
    </
    head 
    ti piglia lo stile da http://forum.html.it/prova/stile.css anche se il tuo sito è in un altro indirizzo. Questa soluzione verrà applicata a tutti gli href, siano essi immagini, link o quant'altro: tienilo presente.

  3. #3
    Grazie mille!! ^^
    Proverò subito
    Digital Riot!
    http://fatmatt.wordpress.com
    -Chi è disposto a rinunciare alla propria libertà in cambio di sicurezza, non merita ne libertà ne sicurezza- Benjamin Franklin

  4. #4
    Mi hanno consigliato una soluzione definitiva , comunque ve la posto, così può servire a tutti!

    L'unica soluzione è la modifica diretta del template, però il tag base è un po troppo invasivo, perchè modifica anche gli indirizzi dei link.

    La modifica del template consiste nel cambiare gli indirizzi di immagini e css in base alla locazione del file index.php.
    La modifica di un template è resa necessaria dall'aggiunta dei tags, quindi devo adattarlo alla struttura del mio script.
    Digital Riot!
    http://fatmatt.wordpress.com
    -Chi è disposto a rinunciare alla propria libertà in cambio di sicurezza, non merita ne libertà ne sicurezza- Benjamin Franklin

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.