PHPExperience.nl

› Artikelen › Templates
PHP en database developing › Templates
Geplaatst op: 25-02-2005 21:06  /  Auteur: Steef  /  5927 keer bekeken
Ik ga het in dit artikel hebben over templates, deze kun bijvoorbeeld gebruiken met Template Power. Waarover ik dit artikel dus ook ga schrijven.

Wanneer kan ik nou het beste een Template Parser gebruiken?
Je kunt het beste bij grote systemen een Template Parser gebruiken, dit werkt lekker makkelijk omdat je dat je PHP codes en je HTML en CSS codes gescheiden van elkaar

hebt. Zodat alles lekker snel werkt, en zodat je zelf ook een goed overzicht hebt.
Je kunt het natuurlijk ook gebruiken als je al wat gevorderd bent met PHP, zodat je van het pagina systeem af kunt, ?p=.

Jaah, dat wil ik ook!
Nou, dan zul je eerst alles moeten weten over Template Power. Maar daarvoor moet je eerst Template Power downloaden. Je kunt het beste gewoon de nieuwste versie downloaden. Als je dan de basis kent, kun je ook de geavanceerde opties gebruiken zoals samenwerken met de MySql database zodat je al je Templates in de database kunt opslaan en zo je site opmaken met verschillende layouts.
Je kunt hier de laatste versie van Template Power downloaden. Dit bestand kun je niet uitpakken met WinZip of met het Uitpak-programma wat standaard in Windows zit. Je zult hiervoor WinRar moeten downloaden, dat kun je

hier doen. Als je een Linux gebruiker bent kun je naar mijn weten dit bestand sowieso al uitpakken.

Nu je Template Power gedownload hebt..
Je hebt nu Template Power gedownload. Je zult eerst het gedownloadde bestand moeten uitpakken. Open daarna deze map, en pak dan als nog een keer het bestand wat erin staat uit.
Nu je dit hebt gedaan kun je het beste het bestand 'class.TemplatePower.inc' hernoemen naar 'parser.php' dit vind ik persoonlijker makkelijker werken bij het steeds includen van het parser bestand. Maar de keus is natuurlijk aan jouw

Hoe ziet een standaard bestand eruit?
Hoe ziet een standaard bestand er nou uit waarbij je de Template Parser gebruikt. Als het volgt:

Code: Geef deze code (volledig) in een popup venster weer Geef deze code in een tekstveld weer

1
2
3
4
5
6
7
8
9
10
11
12
<?
include("parser.php"); // Uitleg 1

$tpl = new TemplatePower("layout.tpl"); // Uitleg 2
$tpl->assignInclude("pagina""index.tpl"); // Uitleg 3

$tpl->prepare(); // Uitleg 4

$tpl->assign("titel""Dhr."); // Uitleg 5

$tpl->printToScreen(); // Uitleg 6
?>


1: Hiermee include je de template parser, als je de naam van het bestand niet hebt veranderd is dit natuurlijk gewoon 'class.TemplatePower.inc.php'. Als je

niet precies weet wat de functie include betekent kun je dat uiterraad op php.net vinden.

2: Hiermee selecteer je het bestand waarin de layout in zit, ik heb hieronder nog een voorbeeldje staan hoe zo'n bestand eruit ziet, en welke regels er officieel aanvast zitten.

3: Als je een pagina in je .tpl bestand wilt 'includen' kun je de naam ervan veranderen. Stel je voor dat je een layout hebt met daarin bijvoorbeeld een aanmeld en een inlog pagina, dan kun je daarvoor een aparte .tpl pagina maken met het formulier erop en deze 'includen' in en andere .tpl file. Als je in de source bijvoorbeeld hebt staan, '<!-- INCLUDE BLOCK : pagina -->' dan bepaal je hier dat de Template Parser index.tpl moet 'includen'. Hierover vertel ik je later nog meer.

4: Hiermee geef je aan dat je alle instellingen hebt gedaan zodat de Template Parser zich als 't ware kan 'voorbereiden' op dingen die moeten worden veranderd en dergelijke.

5: Hiermee geef je aan dat {titel} uit je .tpl moet worden veranderd in de opgegeven tekst, in dit geval 'Dhr.'. Je kunt dit een klein beetje met de PHP functie str_replace vergelijken qua werking.

6: Nu geef je aan dat het voorbereiden klaar is en dat de pagina kan worden geparsed in de gewone HTML en CSS codes!

Hoe ziet een .tpl bestand eruit?
Een heel erg standaard .tpl bestand zal er zou uit kunnen zien:

Code: Geef deze code (volledig) in een popup venster weer Geef deze code in een tekstveld weer

1
2
3
4
5
6
7
<html>
<head>Wat ben jij?</head>
<body>
<b>{titel}</b> S. Cornelissen
<!-- INCLUDE BLOCK : pagina -->
</body>
</html>


Hierbij gelden een aantal regels,
1: De '<!-- INCLUDE BLOCK : pagina -->' opdracht moet altijd op een nieuwe regel staan waarbij er verder niks bijop staat.

2: Bij het typen van de '<!-- INCLUDE BLOCK : pagina -->' moet de dubbele punt altijd los staan. Anders zal 't niet werken, dus je hebt inprincipe dit:

'<spatie>:<spatie>'.

3: In een .tpl bestand mag alleen maar HTML en CSS staan.

[b]De zogenoemde Blocks[/b]
Je kunt met Template Power ook blocks in een .tpl file zetten zodat je er eentje kunt gebruiken wanneer jij dat wilt. Voordat je zo'n block kunt gebruiken moet je eerst de Assign-Include naar het bestand maken, wat ik al eerder heb beschreven:

Quote:
3: Als je een pagina in je .tpl bestand wilt 'includen' kun je de naam ervan veranderen. Stel je voor dat je een layout hebt met daarin bijvoorbeeld een aanmeld en een inlog pagina, dan kun je daarvoor een aparte .tpl pagina maken met het formulier erop en deze 'includen' in en andere .tpl file. Als je in de source bijvoorbeeld hebt staan, '<!-- INCLUDE BLOCK : pagina -->' dan bepaal je hier dat de Template Parser index.tpl moet 'includen'. Hierover vertel ik je later nog meer.


Maar hoe ziet zo'n file met blocks er dan uit? Zo dus:

Code: Geef deze code (volledig) in een popup venster weer Geef deze code in een tekstveld weer

1
2
3
4
5
6
7
<!-- START BLOCK : een -->
<font color="green">Je hebt voor <b>1</b> gekozen, de juiste keus!</font>
<!-- END BLOCK : een -->

<!-- START BLOCK : twee -->
<font color="red">Je hebt voor <b>2</b> gekozen, de slechtste keus!</font>
<!-- END BLOCK : twee -->


Hiervoor geldt ook weer dat de dubbele punt los moet staan en dat de <!-- --> regel op een aparte regel moet staan.

Daarna maak je een bestandje die het allemaal opvraagt, dit zul je inprincipe gewoon moeten begrijpen. Je hebt namelijk een '$var' met een waarde en dan een IF en ELSE check wat er moet gebeuren.

Code: Geef deze code (volledig) in een popup venster weer Geef deze code in een tekstveld weer

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
include("parser.php");

$tpl = new TemplatePower("layout.tpl");
$tpl->assignInclude("pagina""index.tpl");

$tpl->prepare();

$getal "1";

if (
$getal == "1") {
$tpl -> newBlock("een");
}
elseif (
$getal == "2") {
$tpl -> newBlock("twee");
}
else {
die(
"De \$var \$getal heeft niet de waarde 1 of 2!");

$tpl->printToScreen();
?>


Omdat de variabele '$getal' één is wordt block één getoond.

Ik snap er niks van!
Inprincipe zou je dit moeten begrijpen tenzij je nog niks van PHP af weet kan het zijn van niet. Maar dat is vrij logisch.
Voor meer info kun je op de site van de maker van Template Power terecht. Voor vragen kun je daar ook terecht op hun PhpBB forum.
Terug naar de categorieweergave

› Waardering

Op dit moment is er 4 keer gestemd op dit onderwerp. De gemiddelde score is 3.5.

Je kunt niet stemmen omdat je al gestemd hebt of omdat je niet bent ingelogd.


› Reacties op dit artikel (2)

Plaats een reactie

Reacties ordenen
De reacties bovenaan weergeven.

Dit bericht is 6 uur geleden of later geplaatst Reactie van XeNoNz00d op 20-08-2005 09:42
Ik vind het een heel duidelijk en mooi artikel!

Goed uitgelegd hoe het werken met templates werkt!

Greetz
Dit bericht is 6 uur geleden of later geplaatst Subreactie van Steef op 13-11-2005 11:08
Ik ben ook weer eens hier Bedankt voor je reactie!

Plaats een reactie



Leden
Welkom Gast!

Registreren
Inloggen
Wachtwoord vergeten
Account activeren
Ledenlijst


Actieve topics
Topic 11/07 PHP spatie h...
Topic 25/05 website
Topic 07/05 Nieuw topic!
Poll 07/05 AANSTOTELIJK...
Topic 13/01 Geluid!
Topic 28/08 TroppoCity.n...
Mededeling 27/08 Overzicht Be...
Topic 15/08 PHP Scripter...
Mededeling 27/05 Overzicht gr...
Topic 30/03 unexpected T...

Actieve topics
Topic tracker
Zoeken


Linkpartners
Interhit
PHPFreaky
Shootnshop.nl
Tweakomatic.nl
Web-resource.nl
Webmensen
Webscripters
WmCity


Overige
Crew
Nieuwsarchief
Statistieken
Veel gestelde vragen
Bugs rapporteren