Template en meer
Ik heb laatste tijd zitten denken hoe ik mijn website
wil gaan bouwen. Ik dacht laat ik beginnen met een test
versie. Ik heb nog niks gebouwd maar wil beginnen met research.
Ik zat te denken aan het volgende:
Ik wil graag een website maken aan de hand van templates
zodat ik html en php van elkaar kan ga scheiden. Soort van
framework. Dit wil ik doen aan de hand van smarty templete system.
Ik zou graag 1 index.php file hebben die alle request afhandeld en daarbij de juiste templete's gebruikt.
Dus als je bijvoorbeeld de homepagina denkbeelding voor je
hebt en er staat een link "nieuws". Zodra hier op geklikt
moet de index.php file ervoor zorgen dat hij de waarde laadt van nieuws.tpl met daarom natuurlijk de header.tpl en footer.tpl
Ik zat te denken dat ik alle waardes die ik uit de dabase
haal in een array zet die noem ik dan $date. In $data zit dan al mijn waardes dus nieuwsbericht, header teksten, content texten en footer texten ect, ect.
Ik zat te denken om $data op deze manier op te bouwen
onderstaande array is een voorbeeld weet niet of het zo goed is. Maar u kunt zien [header] is de key met alle elementen(waardes) die zich bevinden in header
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Array
(
[header] => Array
(
[logo] => Array
(
[img] => logo.png
[text] => Welkom op de webstie
)
[slider] => Array
(
[img1] => slide1.png
[img2] => slide2.png
)
)
[nieuws] => Array
(
[bericht1] => Array
(
[datum] => 12-12-12
[bericht] => Dit is een nieuws bericht
)
)
[footer] => Array
(
[middenvak] => Array
(
[copyright] => copyright.......
[faceboek] => klik hier voor faceboek
)
)
)
(
[header] => Array
(
[logo] => Array
(
[img] => logo.png
[text] => Welkom op de webstie
)
[slider] => Array
(
[img1] => slide1.png
[img2] => slide2.png
)
)
[nieuws] => Array
(
[bericht1] => Array
(
[datum] => 12-12-12
[bericht] => Dit is een nieuws bericht
)
)
[footer] => Array
(
[middenvak] => Array
(
[copyright] => copyright.......
[faceboek] => klik hier voor faceboek
)
)
)
Even het voorbeeld van hierboven paken als je naar de nieuwsberichten gaat moet php dus op de achtergrond de array $data sturen naar nieuw.tpl en daar moet je doormiddel van smarty weer door $date foreach en alleen de data ophalen voor [nieuws]
Dit kan met smarty als het goed is doormiddel:
$smarty->assign('$data');
$smarty->display('nieuews.tpl');
Ik hoop dat mensen mij een goede kant op kunnen sturen tips
hebben en waar ik moet opletten.
Alvast bedankt!
Gewijzigd op 18/10/2012 17:10:32 door Mr Beronne
Je data moet al zo naar smarty gepresenteerd worden dat smarty zelf niet meer het verwerken van data hoeft te doen. dus niet meer hoeft te zoeken in een multidimensionale array welk stukje smarty nu nodig heeft.
Verder veel dingen doe je nu dynamisch toewijzen terwijl deze dingen normaal nooit veranderen: logo, welkoms text, copyright, facebook linkje. Niet doen dus.
Normaal zou je deze templates achter elkaar laden:
header.tpl
content.tpl
footer.tpl
Misschien kan je dit in php doen. Maar je kan ook in php alleen index.tpl uitvoeren en een variabele meesturen die aangeeft welke pagina je wil. En dan het include gedeelte in index.tpl te doen.