- Home
- Categorie
- Coding e Sistemistica
- PHP
- Template di un portale
-
Template di un portale
Allora vediamo se riesco a spiegarmi con poche parole ! Mettiamo di avere una pagina con Header centro e footer, io vorrei che l'header e il footer rimanesse sempre uguale mentre il centro cambiasse in base a ciò che l'utente clicca sul menù, ossia se l'utente clicca sulla voce download al centro dovrebbe apparire l'inclusione del file Download che si trova nella cartella Moduli/Download/index.php oppure se l'utente clicca sul menù nella voce news dovrebbe apparire al centro l'inclusione di Moduli/News/index.php ; ecco come posso includere al centro il modulo che viene richiesto, un po come phpnuke che al centro viene visualizzato il modulo richiesto ! UN Grazie a chiunque abbia capito cosa voglio e mi rispondesse
-
Ciao
puoi farlo facilmente con smarty che e' un template engine.
http://php.html.it/articoli/leggi/909/template-engine-separare-programmazione-e-design/
-
Ciao grazie della risposta ma come funzionerebbe ??
-
@r3dd3vil said:
Ciao grazie della risposta ma come funzionerebbe ??
Ciao io farei cosi':
creo ad esempio
-download.php
-home.php
-altro.phpQuesti file sono fatti cosi': (esempio per download.php.Per gli altri cambiano soli i parametri)..
<?php
$parametro = "download";
$titolopagina="dowload files"
include $_SERVER['DOCUMENT_ROOT']."/php/template.php";
?>template.php e' fatto cosi':
? echo "<?xml version="1.0" encoding="iso-8859-1"?>\n" ?>
<!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>
<title><?php
echo $titolopagina;
?> </title>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1" />
<meta content="bla_bla_bla" />
<style type="text/css">@import url(style.css);</style>
</head>
<body>
<div id="pagina"><? include "top.inc.php" ?> <? include "sx.inc.php" ?> <? include "dx.inc.php" ?> <div id="corpo"> <p>svilippa la logica</p> </div> <? include "foo.inc.php" ?>
</div>
</body>
</html>Nel div id="corpo" sviluppi la logica a seconda della pagina che carichi nel template
if ($parametro=="download)
{
richiama script download
}
else if ($parametro=="home")
{
richiama script home
}Volendo la logica puo' essere inglobata in un altro file php..
IN questo modo tieni separata la logica dalla grafica..
Per modificare la grafica modifichi il file css, footer.php, header php..etc..
ma tutte le pagine che caricano il template saranno modificate di conseguenza..
-
Ringrazio anch'io luic77 per l'ottima risposta.
-
Io invece vado controcorrente e faccio un file di funzioni (esempio funzioni.php) in cui metto 2 funzioni:
function testata($titolo, $altro) { echo "qui metto tutto l'html della testata"; echo "<h1>$titolo</h1\n"; } function piede() { echo "qui metto tutto l'html del piede"; }
Poi nelle pagine includo il file funzioni.php all'inizio e quando devo scrivere la testata faccio:
testata("Titolo");
e quando voglio chiudere la pagina faccio:
piede();