En mall?
Vad är en template? (eller vad det nu heter)
9 svar · 332 visningar · startad av Alpha II
Vad är en template? (eller vad det nu heter)
En mall?
Nej ingen chat, typ ICQ små medelanden bara. med popup eller blinkande gif när man få ett nytt.
Nog för att han heter mall, men det där inlägget kom nog i fel tråd.
Det är en mall som man har så att man skall slippa att skriva om samma kod flera gånger. Ofta funkar det också så att man helt separerar Html koden från PHP koden. Du behöver alltså inte en massa satser med echo som skriver ut den Html koden som krävs utan du gör en mall till koden istället och fyller den med det som PHP koden genererar.
Något exempel?
Så en template är vad man kallar en sida som ser ut som typ:
<html>
<head>
<title>alpha02</title>
</head>
<body>
<?php
include("begin.inc");
?>
hej hej hej
<?php
include("end.inc");
?>
</body>
</html>
Njaa, nästan
En template är som sagt en mall för flera sidor, där man använder samma sida, fast hämtar info från olika sidor. Nästan som du gjorde Alpha...
<html>
<head>
<title>alpha02</title>
</head>
<body>
<?php
include($begin . ".inc");
?>
hej hej hej
<?php
include($end . ".inc");
?>
</body>
</html>
Den sidan är en template och hämtar infp från olika sidor, beroende på vilka man anger i variablerna $begin och $end. Ett enkelt exempel är om man skulle skicka med querystringsen $begin och $end med olika filnamn, där man lämnat ute filändelsen (.inc).
T.ex.:
minFil.php?begin=startsida&end=slutsida
Här kommer ett exempel på hur man kan använda templates. Detta är med FastTemplate och är saxat direkt från denna sidan: http://www.thewebmasters.net/php/FastTemplate.phtml
Har läst på lite om FastTemplate och det är i alla fall en teknik som jag kommer använda mig av i mina kommande projekt. Just därför det separerar Html koden från PHP koden så fint!
Jaja, här kommer koden:
<!-- NAME: main.tpl -->
<html>
<head><title>{TITLE}</title>
</head>
<body>
{MAIN}
</body>
</html>
<!-- END: main.tpl -->
<!-- NAME: table.tpl -->
<table>
{ROWS}
</table>
<!-- END: table.tpl -->
<!-- NAME: row.tpl -->
<tr>
<td>{NUMBER}</td>
<td>{BIG_NUMBER}</td>
</tr>
<!-- END: row.tpl -->
Now we can start coding...
/* START */
<?
include("class.FastTemplate.php3");
$tpl = new FastTemplate("/path/to/templates");
$tpl->define( array( main => "main.tpl",
table => "table.tpl",
row => "row.tpl" ));
$tpl->assign(TITLE,"FastTemplate Test");
for ($n=1; $n <= 3; $n++)
{
$Number = $n;
$BigNum = $n*10;
$tpl->assign( array( NUMBER => $Number,
BIG_NUMBER => $BigNum ));
$tpl->parse(ROWS,".row");
}
$tpl->parse(MAIN, array("table","main"));
Header("Content-type: text/plain");
$tpl->FastPrint();
exit;
?>
When run it returns:
<!-- NAME: main.tpl -->
<html>
<head><title>FastTemplate Test</title>
</head>
<body>
<!-- NAME: table.tpl -->
<table>
<!-- NAME: row.tpl -->
<tr>
<td>1</td>
<td>10</td>
</tr>
<!-- END: row.tpl -->
<!-- NAME: row.tpl -->
<tr>
<td>2</td>
<td>20</td>
</tr>
<!-- END: row.tpl -->
<!-- NAME: row.tpl -->
<tr>
<td>3</td>
<td>30</td>
</tr>
<!-- END: row.tpl -->
</table>
<!-- END: table.tpl -->
</body>
</html>
<!-- END: main.tpl -->