-
ho scritto questo scriptino...
Codice PHP:
####### replace.inc.php :
$buffer = str_replace("{head.sito_titolo}",$strLang['head.titolo_sito'],$buffer);
$buffer = str_replace("{web.pagina_corrente}",$strLang['pagine.index'],$buffer);
$buffer = str_replace("{cnf.url_sito}",$cnf['path']['web'],$buffer);
########
######## index.php
<?php
function replace_tpl($buffer)
{
// Recupero per la sostituzione
global $strLang;
global $cnf;
// Includo le sostituzioni fisse
require ("./replace.inc.php");
// Rispondo con il buffer pulito
return $buffer;
}
ob_start("replace_tpl");
?>
<html>
<head>
<title>{head.titolo_sito} # {web.pagina_corrente}</title>
</head>
<body>
<a href="{cnf.url_sito}index.php">index</a>
</body>
</html>
<?
ob_end_flush();
?>
########
che ne dite?
-
Hai già provato?
Comunque, ricordando il titolo del topic ("template"), in questo script vedo tutto tranne un file di template :grin:
-
lo provato e funziona... il titolo del topic è chiaro... template... di cosa stiamo parlando noi? di template... quindi :lolloso:
ps: ma nella funzione replace_tpl che ho scritto non riesco a richiamare altre funzioni... come mai?
-
Eh appunto, proprio quel che dico io, il template ndo' sta? :grin:
Forse non mi sono spiegato perbenino:
non mi sembra nel codice ci sia un file ESTERNO di template come di solito si fa con i template appunto. Un file "base.tpl", per dire.
Capito?
Aggiungo per maggior compresione:
nel codice ci sono tutti i passaggi che riguardano il buffering dunque ok bene, però manca il file di template questo dico.
-
ah... uso la funzione che mi sono scritto per includerlo all'interno del corpo della pagina.... lo inserisco e poi con il buffering lo lavoro...
Ps: in fatto dei template ho trovato un problema...
ad esempio ho questo pezzo di codice:
<table border="1" width="100%">
{while.news}
<tr>
<td width="100%">{id}</td>
</tr>
{while.news}
</table>
il problema sta nel fatto che devo scrivere tante volte il pezzo di codice compreso tra {while.news} quanti sono i record che estraggo e stampo con il while... come faccio? non riesco a tagliarlo e usarlo per il while... ho usato $while_news = explode("{while.news}", $var) ma niente...
-
metti il pezzo di codice in un file tipo "pezzo-di-codice.tpl" fai il
while (condizioni varie) {
ob_start(callback);
include("pezzo-di-codice.tpl");
ob_end_flush();
}
tutto qui ^_^