PDA

Bekijk Volledige Versie : templates (php)



GeertS
26/06/04, 17:35
Hoi,

Ik wou eens weten of er onder jullie veel gebruik gemaakt wordt van
templates (zoals smarty, templatepower etc) bij het maken van scripts
of volledige websites (om php-code van html te scheiden, ook al doe je
zelf de scripts en layout)
Zijn er bepaalde bezwaren tegen het gebruik van deze methodes?

Mij lijkt templatepower wel een goede, andere meningen?

gs

Maarten Wierda
26/06/04, 17:35
GeertS wrote:

> Ik wou eens weten of er onder jullie veel gebruik gemaakt wordt van
> templates (zoals smarty, templatepower etc) bij het maken van scripts
> of volledige websites (om php-code van html te scheiden, ook al doe je
> zelf de scripts en layout)

Ik gebruik Smarty.

> Zijn er bepaalde bezwaren tegen het gebruik van deze methodes?

De webserver moet zogenaamde compile-bestanden kunnen aanmaken. Op
sommige servers is dit echter niet toegestaan.

> Mij lijkt templatepower wel een goede, andere meningen?

Daar heb ik geen ervaring mee.

--
Cheers,
Maarten Wierda

"Organized Confusion" - KDC

GeertS
26/06/04, 17:55
On Sat, 26 Jun 2004 17:24:59 +0200, Maarten Wierda
<maartenAT@norecessDOT.com> wrote:

>GeertS wrote:
>
>> Ik wou eens weten of er onder jullie veel gebruik gemaakt wordt van
>> templates (zoals smarty, templatepower etc) bij het maken van scripts
>> of volledige websites (om php-code van html te scheiden, ook al doe je
>> zelf de scripts en layout)
>
>Ik gebruik Smarty.
en gebruik je dit enkel voor scripts of je volledige site?
Ik vrees er voor als je templates voor een volledige site gebruikt, en
je gebruikt in je site bestaande scripts met hun eigen template
systeem (bv phpbb) je dan in de problemen kan komen.
Of vallen dergelijke zaken perfect te combineren?
(ik include() nu enkel een header en footer in phpbb, en de rest van
mijn site)

>
>> Zijn er bepaalde bezwaren tegen het gebruik van deze methodes?
>
>De webserver moet zogenaamde compile-bestanden kunnen aanmaken. Op
>sommige servers is dit echter niet toegestaan.
>
>> Mij lijkt templatepower wel een goede, andere meningen?
>
>Daar heb ik geen ervaring mee.

tnx voor de snelle reply

Maarten Wierda
26/06/04, 19:05
GeertS wrote:

>>Ik gebruik Smarty.
>
> en gebruik je dit enkel voor scripts of je volledige site?

Je bedoelt of ik Smarty ook gebruik voor niet-dynamische pagina's? Nee.

> Ik vrees er voor als je templates voor een volledige site gebruikt, en
> je gebruikt in je site bestaande scripts met hun eigen template
> systeem (bv phpbb) je dan in de problemen kan komen.

Ik heb geen ervaring met phpBB maar bestaande scripts zijn uitstekend
aan te passen zodat je Smarty kunt inzetten.

> (ik include() nu enkel een header en footer in phpbb, en de rest van
> mijn site)

Dat is natuurlijk, zoals je vast al weet, iets heel anders dan templates.


--
Cheers,
Maarten Wierda

"Organized Confusion" - KDC

Michiel de Roo
28/06/04, 13:25
GeertS wrote:
> Hoi,
>
> Ik wou eens weten of er onder jullie veel gebruik gemaakt wordt van
> templates (zoals smarty, templatepower etc) bij het maken van scripts
> of volledige websites (om php-code van html te scheiden, ook al doe je
> zelf de scripts en layout)
> Zijn er bepaalde bezwaren tegen het gebruik van deze methodes?

Ik gebruik altijd Smarty. Bij voorkeur gebruik ik zelfs 0,0 html in mijn
scripts, alle html loopt via de templates. Dit houdt de achterliggende
applicatie flexibel en herbruikbaar. Bovendien is het heel handig als je
in een later stadium anderen de HTML wilt laten maken.

Bezwaren ?. Tja, het is iets meer werk om het allemaal op te zetten, maar
dit betaalt zich vrijwel altijd terug. Verder heeft het voor mij eigenlijk
alleen maar voordelen.

>
> Mij lijkt templatepower wel een goede, andere meningen?
>

Ken ik niet, maar Smarty is iig OK.

Michiel.

Daniel Tryba
28/06/04, 14:55
Michiel de Roo <yourlove@welovespam.nl> wrote:
> Ik gebruik altijd Smarty. Bij voorkeur gebruik ik zelfs 0,0 html in mijn
> scripts, alle html loopt via de templates. Dit houdt de achterliggende
> applicatie flexibel en herbruikbaar. Bovendien is het heel handig als je
> in een later stadium anderen de HTML wilt laten maken.

Idem hier, met smarty (en elke zinnige templateengine) is het mogelijk
om aan te geven in hoeverre de template dynamisch is. Met goed gebruik
hiervan is de overhead itt statische html alleen het aanroepen van php.

> Bezwaren ?. Tja, het is iets meer werk om het allemaal op te zetten, maar
> dit betaalt zich vrijwel altijd terug. Verder heeft het voor mij eigenlijk
> alleen maar voordelen.

Zelf gebruik ik daarvoor een 404 handler welke controleert of er voor de
aangeroepen URL niet toevallig een enigszin gelijkende .tpl bestaat...
als dat het geval is wordt die "statisch" geserveerd. MAW 1 keer 5
minuten werk en daarna maakt het nauwelijks uit of men foo.html of
foo.php of foo.whatever aanroept...

--

Daniel Tryba

Stefan Koopmanschap (remove withoutspam to e-mail)
28/06/04, 16:35
GeertS wrote:
> Hoi,
>
> Ik wou eens weten of er onder jullie veel gebruik gemaakt wordt van
> templates (zoals smarty, templatepower etc) bij het maken van scripts
> of volledige websites (om php-code van html te scheiden, ook al doe je
> zelf de scripts en layout)
> Zijn er bepaalde bezwaren tegen het gebruik van deze methodes?
>
> Mij lijkt templatepower wel een goede, andere meningen?

Ik ben een groot fan van TemplatePower, gebruik het eigenlijk standaard
voor alles wat ik bouw. Smarty heb ik het niet zo op. De reden dat ik
een template engine gebruik is om de programmeerlogica te scheiden van
de opmaak. Bij Smarty introduceren ze vervolgens binnen de opmaak
(templates) weer een hele eigen programmeerlogica. En dan streeft het
voor mijn toepassing z'n doel voorbij. Misschien dat anderen het wel
prettig vinden. Vooral php-ers die ook vormgeven/opmaken zullen Smarty
misschien prettig vinden.

Maar TemplatePower is in ieder geval een fantastische template-engine.


--
Stefan Koopmanschap
PHP/MySQL developer - websites, intranet and extranet systems and more...
http://www.stefankoopmanschap.com/
php@stefankoopmanschap.com

Michiel de Roo
28/06/04, 16:45
Stefan Koopmanschap (remove withoutspam to e-mail) wrote:
> GeertS wrote:
>
>> Hoi,
>> Ik wou eens weten of er onder jullie veel gebruik gemaakt wordt van
>> templates (zoals smarty, templatepower etc) bij het maken van scripts
>> of volledige websites (om php-code van html te scheiden, ook al doe je
>> zelf de scripts en layout) Zijn er bepaalde bezwaren tegen het gebruik
>> van deze methodes?
>>
>> Mij lijkt templatepower wel een goede, andere meningen?
>
>
> Ik ben een groot fan van TemplatePower, gebruik het eigenlijk standaard
> voor alles wat ik bouw. Smarty heb ik het niet zo op. De reden dat ik
> een template engine gebruik is om de programmeerlogica te scheiden van
> de opmaak. Bij Smarty introduceren ze vervolgens binnen de opmaak
> (templates) weer een hele eigen programmeerlogica. En dan streeft het

Ben ik het niet helemaal mee eens. Een deel van de logica is meestal
'opmaak-logica' en niet 'programmeer-logica'. Bijvoorbeeld, zo kan het
zijn dat je aan de hand van je gebruikers-rechten iets wel of niet wil
laten zien. Zoiets kan prima in een template staan, omdat het
opmaak-logica is. Bovendien wil je dan gewoonlijk de bij de variable
behorende html ook niet laten zien, zoals tr's en td's. Als je dit soort
logica in je applicatie gaat stoppen, eindig je meestal weer met een berg
HTML in je aplicatie. Alles liever dan dat, zou ik zeggen.

> voor mijn toepassing z'n doel voorbij. Misschien dat anderen het wel
> prettig vinden. Vooral php-ers die ook vormgeven/opmaken zullen Smarty
> misschien prettig vinden.
>
> Maar TemplatePower is in ieder geval een fantastische template-engine.

Heb het nu even snel bekeken. Lijkt iig een stuk minder uitgebreid. Maar
goed, je geeft ook al aan dat je dat juist prettig vind. Ik zou zelf toch
eerder voor Smarty kiezen, wat je niet nodig hebt zit ook niet echt in de
weg.

Stefan Koopmanschap (remove withoutspam to e-mail)
29/06/04, 13:15
Michiel de Roo wrote:
> Stefan Koopmanschap (remove withoutspam to e-mail) wrote:
>> Ik ben een groot fan van TemplatePower, gebruik het eigenlijk
>> standaard voor alles wat ik bouw. Smarty heb ik het niet zo op. De
>> reden dat ik een template engine gebruik is om de programmeerlogica te
>> scheiden van de opmaak. Bij Smarty introduceren ze vervolgens binnen
>> de opmaak (templates) weer een hele eigen programmeerlogica. En dan
>> streeft het
>
> Ben ik het niet helemaal mee eens. Een deel van de logica is meestal
> 'opmaak-logica' en niet 'programmeer-logica'. Bijvoorbeeld, zo kan het
> zijn dat je aan de hand van je gebruikers-rechten iets wel of niet wil
> laten zien. Zoiets kan prima in een template staan, omdat het
> opmaak-logica is. Bovendien wil je dan gewoonlijk de bij de variable
> behorende html ook niet laten zien, zoals tr's en td's. Als je dit soort
> logica in je applicatie gaat stoppen, eindig je meestal weer met een
> berg HTML in je aplicatie. Alles liever dan dat, zou ik zeggen.

Of je wel of niet ingelogd bent is echter een stukje programmeerlogica.
De PHP bepaalt of je wel of niet bent ingelogd. In je template moet je
gewoon kunnen aangeven "tussen daar en daar tonen wanneer ingelogd". Bij
Smarty, krijg ik het idee, moet je zelf je if-statements oid erin
zetten. Dat is, ik heb een keer onderhoud moeten doen aan een
Smarty-site die door iemand anders gebouwd was, dus misschien heb ik een
heel verkeerd beeld van Smarty. Maar ik kan me herinneren dat er veel if
en for dingen in de templates stonden die ik logischer vond in de php.

Bij mij in de templates vind je opmaak, en TP-tags om aan te geven waar
informatie moet komen, en blocks om aan te geven of dingen mogelijk 0, 1
or meer keer moeten worden weergegeven. Da's alles wat je in de
templates vind. opmaak-elementen. alle logica zit dus in de php.

Maar op zich is dit natuurlijk meer voorkeur. Ik vind dit prettig omdat
ik me vaak niet met de opmaak bezig houd, en de mensen waar ik tot nu
toe mee gewerkt hebben vinden dit ook prettig omdat heel simpel en
duidelijk is wat waar staat en hoe ze dat moeten opmaken.

>
>> voor mijn toepassing z'n doel voorbij. Misschien dat anderen het wel
>> prettig vinden. Vooral php-ers die ook vormgeven/opmaken zullen Smarty
>> misschien prettig vinden.
>>
>> Maar TemplatePower is in ieder geval een fantastische template-engine.
>
>
> Heb het nu even snel bekeken. Lijkt iig een stuk minder uitgebreid. Maar
> goed, je geeft ook al aan dat je dat juist prettig vind. Ik zou zelf
> toch eerder voor Smarty kiezen, wat je niet nodig hebt zit ook niet echt
> in de weg.

Ja, TP is een stuk minder uitgebreid. Maar juist dat is de kracht van TP
naar mijn mening. Maar wederom, het is uiteindelijk altijd een kwestie
van voorkeur. Wat vind je prettiger werken.

--
Stefan Koopmanschap
PHP/MySQL developer - websites, intranet and extranet systems and more...
http://www.stefankoopmanschap.com/
php@stefankoopmanschap.com

Michiel de Roo
29/06/04, 14:15
Stefan Koopmanschap (remove withoutspam to e-mail) wrote:
> Michiel de Roo wrote:
>
>> Stefan Koopmanschap (remove withoutspam to e-mail) wrote:
>>
>>> Ik ben een groot fan van TemplatePower, gebruik het eigenlijk
>>> standaard voor alles wat ik bouw. Smarty heb ik het niet zo op. De
>>> reden dat ik een template engine gebruik is om de programmeerlogica
>>> te scheiden van de opmaak. Bij Smarty introduceren ze vervolgens
>>> binnen de opmaak (templates) weer een hele eigen programmeerlogica.
>>> En dan streeft het
>>
>>
>> Ben ik het niet helemaal mee eens. Een deel van de logica is meestal
>> 'opmaak-logica' en niet 'programmeer-logica'. Bijvoorbeeld, zo kan het
>> zijn dat je aan de hand van je gebruikers-rechten iets wel of niet wil
>> laten zien. Zoiets kan prima in een template staan, omdat het
>> opmaak-logica is. Bovendien wil je dan gewoonlijk de bij de variable
>> behorende html ook niet laten zien, zoals tr's en td's. Als je dit
>> soort logica in je applicatie gaat stoppen, eindig je meestal weer met
>> een berg HTML in je aplicatie. Alles liever dan dat, zou ik zeggen.
>
>
> Of je wel of niet ingelogd bent is echter een stukje programmeerlogica.
> De PHP bepaalt of je wel of niet bent ingelogd. In je template moet je
> gewoon kunnen aangeven "tussen daar en daar tonen wanneer ingelogd". Bij
> Smarty, krijg ik het idee, moet je zelf je if-statements oid erin

Ja, maar dat is toch ook precies wat je wilt ? Een simpele if statement
die bepaalt of iets wel getoond moet worden.

{if $login}
<tr><td class='bla'>{$blablabla}<td></tr>
{/if}

Hoe had je dat anders willen doen dan ? Als je het if statement niet in je
template wilt zul je toch die <tr>....</tr> ook naar je php moeten verhuizen.

> zetten. Dat is, ik heb een keer onderhoud moeten doen aan een
> Smarty-site die door iemand anders gebouwd was, dus misschien heb ik een
> heel verkeerd beeld van Smarty. Maar ik kan me herinneren dat er veel if
> en for dingen in de templates stonden die ik logischer vond in de php.

Dat kan natuurlijk, maar dat is meer de keuze van wat je in je template
wil gaan zetten en wat niet. Daar moet je wel de goede keuzes maken
natuurlijk. Persoonlijk gebruik ik weinig meer dan een simpele if of for.
En dan alleen als het niet anders kan, zonder html naar de applicatie te
verplaatsen.

>
> Bij mij in de templates vind je opmaak, en TP-tags om aan te geven waar
> informatie moet komen, en blocks om aan te geven of dingen mogelijk 0, 1
> or meer keer moeten worden weergegeven. Da's alles wat je in de
> templates vind. opmaak-elementen. alle logica zit dus in de php.

Maar die blocks is gewoon een verkapt for statement.

>
> Maar op zich is dit natuurlijk meer voorkeur. Ik vind dit prettig omdat
> ik me vaak niet met de opmaak bezig houd, en de mensen waar ik tot nu
> toe mee gewerkt hebben vinden dit ook prettig omdat heel simpel en
> duidelijk is wat waar staat en hoe ze dat moeten opmaken.
>
>>
>>> voor mijn toepassing z'n doel voorbij. Misschien dat anderen het wel
>>> prettig vinden. Vooral php-ers die ook vormgeven/opmaken zullen
>>> Smarty misschien prettig vinden.
>>>
>>> Maar TemplatePower is in ieder geval een fantastische template-engine.
>>
>>
>>
>> Heb het nu even snel bekeken. Lijkt iig een stuk minder uitgebreid.
>> Maar goed, je geeft ook al aan dat je dat juist prettig vind. Ik zou
>> zelf toch eerder voor Smarty kiezen, wat je niet nodig hebt zit ook
>> niet echt in de weg.
>
>
> Ja, TP is een stuk minder uitgebreid. Maar juist dat is de kracht van TP
> naar mijn mening. Maar wederom, het is uiteindelijk altijd een kwestie
> van voorkeur. Wat vind je prettiger werken.
>

Helemaal mee eens.

Stefan Koopmanschap (remove withoutspam to e-mail)
29/06/04, 15:35
Michiel de Roo wrote:
>> Of je wel of niet ingelogd bent is echter een stukje
>> programmeerlogica. De PHP bepaalt of je wel of niet bent ingelogd. In
>> je template moet je gewoon kunnen aangeven "tussen daar en daar tonen
>> wanneer ingelogd". Bij Smarty, krijg ik het idee, moet je zelf je
>> if-statements oid erin
>
> Ja, maar dat is toch ook precies wat je wilt ? Een simpele if statement
> die bepaalt of iets wel getoond moet worden.
>
> {if $login}
> <tr><td class='bla'>{$blablabla}<td></tr>
> {/if}
>
> Hoe had je dat anders willen doen dan ? Als je het if statement niet in
> je template wilt zul je toch die <tr>....</tr> ook naar je php moeten
> verhuizen.

Nee, dat is dus niet nodig, in ieder geval niet met TemplatePower. Met
TemplatePower kan je gemakkelijk met blocks werken. Die zien eruit als
html comments

<!-- START BLOCK : blocknaam -->
<tr> en een hele zut opmaak, plus bijvoorbeeld een menu voor mensen die
ingelogd zijn </tr>
<!-- END BLOCK : blocknaam -->

bovenstaand block kan ik dan in de php aan en uitzetten afhankelijk van
of de persoon ingelogd is. dezelfde syntax gebruik je ook voor
herhalende blocken, zoals een listing van artikels ofzo. de persoon die
de opmaak doet hoeft dan dus helemaal geen if statements te zien, in wat
voor vorm dan ook.

> Dat kan natuurlijk, maar dat is meer de keuze van wat je in je template
> wil gaan zetten en wat niet. Daar moet je wel de goede keuzes maken
> natuurlijk. Persoonlijk gebruik ik weinig meer dan een simpele if of
> for. En dan alleen als het niet anders kan, zonder html naar de
> applicatie te verplaatsen.

Maar is Smarty in dat geval niet een beetje overkill voor jou dan? Een
TemplatePower oid is dan volgens mij veel verstandiger. Want
uiteindelijk geld toch ook dat hoe minder code geparsed moet worden, hoe
efficienter (op ms meestal natuurlijk) je applicatie is... Bloat is
nooit goed, tenzij je het ook gebruikt (mijn mening uiteraard)

>> Bij mij in de templates vind je opmaak, en TP-tags om aan te geven
>> waar informatie moet komen, en blocks om aan te geven of dingen
>> mogelijk 0, 1 or meer keer moeten worden weergegeven. Da's alles wat
>> je in de templates vind. opmaak-elementen. alle logica zit dus in de php.
>
>
> Maar die blocks is gewoon een verkapt for statement.

ja, dat klopt. maar een block ziet er voor een vormgever of andere
opmaak-persoon een stuk begrijpelijker uit. Ik heb gewerkt met
vormgevers die echt allergisch waren voor alles wat er ook maar een
beetje programmeer-achtig uitzag. Een block (in TP) is niets meer of
minder dan een stuk html tussen comment-tags. dat die comment-tags dan
een bepaalde syntax hebben is natuurlijk wat anders. Maar dat is voor
vormgevers een stuk duidelijker te begrijpen dan if statements tussen
accolades.

--
Stefan Koopmanschap
PHP/MySQL developer - websites, intranet and extranet systems and more...
http://www.stefankoopmanschap.com/
php@stefankoopmanschap.com

Ronald Klip
29/06/04, 16:15
Stefan Koopmanschap (remove withoutspam to e-mail) schreef:

[Smarty vs. TemplatePower]

> Maar is Smarty in dat geval niet een beetje overkill voor jou dan? Een
> TemplatePower oid is dan volgens mij veel verstandiger. Want
> uiteindelijk geld toch ook dat hoe minder code geparsed moet worden, hoe
> efficienter (op ms meestal natuurlijk) je applicatie is... Bloat is
> nooit goed, tenzij je het ook gebruikt (mijn mening uiteraard)

Ik heb vanochtend eens gegoogled op 'smarty templatepower benchmark', en
het viel me op dat Smarty op alle sites die ik bekeek aanzienlijk
sneller presteerde. Ergens werd gesteld dat dat te maken had met de
output buffering van TP.

--
groet, Ronald

Michiel de Roo
29/06/04, 16:55
Stefan Koopmanschap (remove withoutspam to e-mail) wrote:
> Michiel de Roo wrote:
>
>>> Of je wel of niet ingelogd bent is echter een stukje
>>> programmeerlogica. De PHP bepaalt of je wel of niet bent ingelogd. In
>>> je template moet je gewoon kunnen aangeven "tussen daar en daar tonen
>>> wanneer ingelogd". Bij Smarty, krijg ik het idee, moet je zelf je
>>> if-statements oid erin
>>
>>
>> Ja, maar dat is toch ook precies wat je wilt ? Een simpele if
>> statement die bepaalt of iets wel getoond moet worden.
>>
>> {if $login}
>> <tr><td class='bla'>{$blablabla}<td></tr>
>> {/if}
>>
>> Hoe had je dat anders willen doen dan ? Als je het if statement niet
>> in je template wilt zul je toch die <tr>....</tr> ook naar je php
>> moeten verhuizen.
>
>
> Nee, dat is dus niet nodig, in ieder geval niet met TemplatePower. Met
> TemplatePower kan je gemakkelijk met blocks werken. Die zien eruit als
> html comments
>
> <!-- START BLOCK : blocknaam -->
> <tr> en een hele zut opmaak, plus bijvoorbeeld een menu voor mensen die
> ingelogd zijn </tr>
> <!-- END BLOCK : blocknaam -->

OK, dat is duidelijk. Ik zie het grote voordeel t.o.v. het if statement
nog niet, maar dat ligt dan vooral aan je html ontwerper. M.i. is het
gewoon vrijwel hetzelfde, maar dan met een html gorienteerde syntax.

>
> bovenstaand block kan ik dan in de php aan en uitzetten afhankelijk van
> of de persoon ingelogd is. dezelfde syntax gebruik je ook voor
> herhalende blocken, zoals een listing van artikels ofzo. de persoon die
> de opmaak doet hoeft dan dus helemaal geen if statements te zien, in wat
> voor vorm dan ook.
>
>> Dat kan natuurlijk, maar dat is meer de keuze van wat je in je
>> template wil gaan zetten en wat niet. Daar moet je wel de goede keuzes
>> maken natuurlijk. Persoonlijk gebruik ik weinig meer dan een simpele
>> if of for. En dan alleen als het niet anders kan, zonder html naar de
>> applicatie te verplaatsen.
>
>
> Maar is Smarty in dat geval niet een beetje overkill voor jou dan? Een
> TemplatePower oid is dan volgens mij veel verstandiger. Want
> uiteindelijk geld toch ook dat hoe minder code geparsed moet worden, hoe
> efficienter (op ms meestal natuurlijk) je applicatie is... Bloat is
> nooit goed, tenzij je het ook gebruikt (mijn mening uiteraard)

Nee hoor, Smarty is meer dan snel genoeg. Bovendien wordt een template
alleen geparsed als die gewijzigd is. De geparsede templates zitten
namelijk in een cache. Naar wens kan er zelfs een html cache gebruikt
worden, dan is het helemaal snel maar niet dynamisch meer natuurlijk. En
wat je niet gebruikt veroorzaakt bij Smarty ook geen overhead, behalve de
prefilters dan, maar die gebruik ik zelden.

>
>>> Bij mij in de templates vind je opmaak, en TP-tags om aan te geven
>>> waar informatie moet komen, en blocks om aan te geven of dingen
>>> mogelijk 0, 1 or meer keer moeten worden weergegeven. Da's alles wat
>>> je in de templates vind. opmaak-elementen. alle logica zit dus in de
>>> php.
>>
>>
>>
>> Maar die blocks is gewoon een verkapt for statement.
>
>
> ja, dat klopt. maar een block ziet er voor een vormgever of andere
> opmaak-persoon een stuk begrijpelijker uit. Ik heb gewerkt met
> vormgevers die echt allergisch waren voor alles wat er ook maar een
> beetje programmeer-achtig uitzag. Een block (in TP) is niets meer of
> minder dan een stuk html tussen comment-tags. dat die comment-tags dan
> een bepaalde syntax hebben is natuurlijk wat anders. Maar dat is voor
> vormgevers een stuk duidelijker te begrijpen dan if statements tussen
> accolades.

Ik snap het ja. Vormgevers.... moeilijk volk ;-)

Daniel Tryba
29/06/04, 17:25
Michiel de Roo <yourlove@welovespam.nl> wrote:
> Nee hoor, Smarty is meer dan snel genoeg. Bovendien wordt een template
> alleen geparsed als die gewijzigd is. De geparsede templates zitten
> namelijk in een cache. Naar wens kan er zelfs een html cache gebruikt
> worden, dan is het helemaal snel maar niet dynamisch meer natuurlijk. En
> wat je niet gebruikt veroorzaakt bij Smarty ook geen overhead, behalve de
> prefilters dan, maar die gebruik ik zelden.

Die gecachte 'html' (het kan natuurlijk allles zijn wat je maar wilt),
kan volledig dynamisch zijn... Je kan per gebruiker (op basis van bv
sessioncookie) een cache hebben, en verder kan je je cache validiteit
afhankelijk laten zijn van je data.

>> ja, dat klopt. maar een block ziet er voor een vormgever of andere
>> opmaak-persoon een stuk begrijpelijker uit. Ik heb gewerkt met
>> vormgevers die echt allergisch waren voor alles wat er ook maar een
>> beetje programmeer-achtig uitzag. Een block (in TP) is niets meer of
>> minder dan een stuk html tussen comment-tags. dat die comment-tags dan
>> een bepaalde syntax hebben is natuurlijk wat anders. Maar dat is voor
>> vormgevers een stuk duidelijker te begrijpen dan if statements tussen
>> accolades.

Dus als je in Smarty voor andere begin/end tags kiest, heel toevallig
resp. '<!--' en '-->' (wat natuurlijk wel gevolgen heeft voor "echte"
commentaar tags)?

--

Daniel Tryba

Stefan Koopmanschap (remove withoutspam to e-mail)
29/06/04, 18:05
Daniel Tryba wrote:
> Dus als je in Smarty voor andere begin/end tags kiest, heel toevallig
> resp. '<!--' en '-->' (wat natuurlijk wel gevolgen heeft voor "echte"
> commentaar tags)?

Bij TP blijven alle commentaar tags gewoon staan, alleen de commentaar
tags met de speciale syntax worden door TP gebruikt.

maar ja, ik denk dat Smarty voor vormgevers als een stuk prettiger zou
zijn als je de syntax zou aanpassen.

--
Stefan Koopmanschap
PHP/MySQL developer - websites, intranet and extranet systems and more...
http://www.stefankoopmanschap.com/
php@stefankoopmanschap.com

Daniel Tryba
29/06/04, 18:25
"Stefan Koopmanschap (remove withoutspam to e-mail)" <stefan@stefankoopmanschapwithoutspam.nl> wrote:
>> Dus als je in Smarty voor andere begin/end tags kiest, heel toevallig
>> resp. '<!--' en '-->' (wat natuurlijk wel gevolgen heeft voor "echte"
>> commentaar tags)?
>
> Bij TP blijven alle commentaar tags gewoon staan, alleen de commentaar
> tags met de speciale syntax worden door TP gebruikt.

Dat is helaas met smarty niet zo (maar dat komt natuurlijk ook omdat er
geen vaste syntax is).

> maar ja, ik denk dat Smarty voor vormgevers als een stuk prettiger zou
> zijn als je de syntax zou aanpassen.

Ik geef zelf de voorkeur aan de jsp/asp stijl tags (<%,%>), het voordeel
is IMHO dat de html-er met zijn vage pakketen er iets meer attent op is
dat daar wat magie gebeurt.

--

Daniel Tryba

GeertS
29/06/04, 20:25
On Tue, 29 Jun 2004 16:10:18 +0000 (UTC), Daniel Tryba
<news_nl.internet.www.server-side@canopus.nl> wrote:

>> Bij TP blijven alle commentaar tags gewoon staan, alleen de commentaar
>> tags met de speciale syntax worden door TP gebruikt.
>
>Dat is helaas met smarty niet zo (maar dat komt natuurlijk ook omdat er
>geen vaste syntax is).
standaard gebruikt Smarty { } als ik me niet vergis, wat gebeurd er
dan als je deze gebruikt bij bv css of javascript in je template?

gs

Michiel de Roo
29/06/04, 20:45
GeertS wrote:
> On Tue, 29 Jun 2004 16:10:18 +0000 (UTC), Daniel Tryba
> <news_nl.internet.www.server-side@canopus.nl> wrote:
>
>
>>>Bij TP blijven alle commentaar tags gewoon staan, alleen de commentaar
>>>tags met de speciale syntax worden door TP gebruikt.
>>
>>Dat is helaas met smarty niet zo (maar dat komt natuurlijk ook omdat er
>>geen vaste syntax is).
>
> standaard gebruikt Smarty { } als ik me niet vergis, wat gebeurd er
> dan als je deze gebruikt bij bv css of javascript in je template?

Dan moet je er {literal} .... {/literal} omheen zetten.

GeertS
29/06/04, 20:55
On Mon, 28 Jun 2004 16:13:10 +0400, "Stefan Koopmanschap (remove
withoutspam to e-mail)" <stefan@stefankoopmanschapwithoutspam.nl>
wrote:

>GeertS wrote:
>> Hoi,
>>
>> Ik wou eens weten of er onder jullie veel gebruik gemaakt wordt van
>> templates (zoals smarty, templatepower etc) bij het maken van scripts
>> of volledige websites (om php-code van html te scheiden, ook al doe je
>> zelf de scripts en layout)
>> Zijn er bepaalde bezwaren tegen het gebruik van deze methodes?
>>
>> Mij lijkt templatepower wel een goede, andere meningen?
>
>Ik ben een groot fan van TemplatePower, gebruik het eigenlijk standaard
>voor alles wat ik bouw. Smarty heb ik het niet zo op. De reden dat ik
>een template engine gebruik is om de programmeerlogica te scheiden van
>de opmaak. Bij Smarty introduceren ze vervolgens binnen de opmaak
>(templates) weer een hele eigen programmeerlogica. En dan streeft het
>voor mijn toepassing z'n doel voorbij. Misschien dat anderen het wel
>prettig vinden. Vooral php-ers die ook vormgeven/opmaken zullen Smarty
>misschien prettig vinden.
>
>Maar TemplatePower is in ieder geval een fantastische template-engine.

Bij het nalezen van de docs van beide engines (ok die van smarty heb
ik niet volledig gelezen) krijg ik ook de indruk dat Smarty wel heel
'zwaar' is. anderszijds zou TP ook wel iets uitgebreider mogen zijn
naar mijn mening.
Wat ik bij TP wel mis, is een if/else mogelijkheid.

Ik zou momenteel templates gebruiken voor 'losse', vrij kleine scripts
(zoals bv nieuws, links, adressenlijst, formulieren) op mijn sites,
dus niet voor de hele layout (incl header/footer), ik vrees dat ik dan
in de problemen ga komen als ik bv phpbb (met eigen template engine)
in mijn layout integreer.

Kunnen jullie ev, eens vermelden voor welke doeleinden je templates
gebruikt (en ev. een url posten)?

gs

Maarten Wierda
29/06/04, 22:35
GeertS wrote:

> Bij het nalezen van de docs van beide engines (ok die van smarty heb
> ik niet volledig gelezen) krijg ik ook de indruk dat Smarty wel heel
> 'zwaar' is.

Smarty biedt heel veel functionaliteit. Deze hoef je natuurlijk niet te
gebruiken. De enige functies die ik gebruik zijn met name zo +-

<http://smarty.php.net/manual/en/language.modifier.date.format.php>
<http://smarty.php.net/manual/en/language.modifier.escape.php>
<http://smarty.php.net/manual/en/language.modifier.nl2br.php>

En dan natuurlijk {section}, {if}{else}{/if} en {literal}.

> anderszijds zou TP ook wel iets uitgebreider mogen zijn
> naar mijn mening.
> Wat ik bij TP wel mis, is een if/else mogelijkheid.

Als ik Stefan mag geloven is dat juist niet nodig.

> Ik zou momenteel templates gebruiken voor 'losse', vrij kleine scripts
> (zoals bv nieuws, links, adressenlijst, formulieren) op mijn sites,

Mijn keuze voor Smarty hangt eigenlijk nooit samen met de grootte van de
scripts.

Het is juist prettig om je PHP-code van je HTML te scheiden (en de
vormgeving ~lees: CSS~ ook van je HTML-code, maar dat terzijde). Niet
alleen voor het overzicht maar met name, en dat is ook al aangegeven,
voor andere mensen binnen een projectteam o.i.d. die wél over kennis
van HTML hebben, maar niet over PHP.

Waarom wil je je kleine scripts dus gaan combineren met Smarty?

> dus niet voor de hele layout (incl header/footer),

Smarty, en elke template engine geloof ik, is /juist/ ideaal om de
gehele vormgeving te scheiden van je PHP-code.

> ik vrees dat ik dan
> in de problemen ga komen als ik bv phpbb (met eigen template engine)
> in mijn layout integreer.

Bestaande scripts ombouwen, en zeker iets groots phpBB, lijkt me niet
echt praktisch. *Waarom* wil je eigenlijk Smarty i.c.m. phpBB gaan
gebruiken?

> Kunnen jullie ev, eens vermelden voor welke doeleinden je templates
> gebruikt

De vormgeving van dynamische websites :)

> (en ev. een url posten)?

Maar dan? Aan de broncode die jij dan voorgeschoteld krijgt verandert
niets hoor.

Succes!


--
Cheers,
Maarten Wierda

"Organized Confusion" - KDC

GeertS
29/06/04, 23:15
On Tue, 29 Jun 2004 22:20:51 +0200, Maarten Wierda
<maartenAT@norecessDOT.com> wrote:

>GeertS wrote:
>
>> Bij het nalezen van de docs van beide engines (ok die van smarty heb
>> ik niet volledig gelezen) krijg ik ook de indruk dat Smarty wel heel
>> 'zwaar' is.
>
>Smarty biedt heel veel functionaliteit. Deze hoef je natuurlijk niet te
>gebruiken. De enige functies die ik gebruik zijn met name zo +-
>
><http://smarty.php.net/manual/en/language.modifier.date.format.php>
><http://smarty.php.net/manual/en/language.modifier.escape.php>
><http://smarty.php.net/manual/en/language.modifier.nl2br.php>
>
>En dan natuurlijk {section}, {if}{else}{/if} en {literal}.
>
>> anderszijds zou TP ook wel iets uitgebreider mogen zijn
>> naar mijn mening.
>> Wat ik bij TP wel mis, is een if/else mogelijkheid.
>
>Als ik Stefan mag geloven is dat juist niet nodig.

door die blocks die al dan niet 'geactiveerd' zijn, maar dan heb je
enkel de keuze om iet wel of niet weer te geven.

ik denk bv als je een kleur wil meegeven afhankelijk van de variabele
(om maar een willekeurig voorbeeld te geven)

>
>> Ik zou momenteel templates gebruiken voor 'losse', vrij kleine scripts
>> (zoals bv nieuws, links, adressenlijst, formulieren) op mijn sites,
>
>Mijn keuze voor Smarty hangt eigenlijk nooit samen met de grootte van de
>scripts.
>
>Het is juist prettig om je PHP-code van je HTML te scheiden (en de
>vormgeving ~lees: CSS~ ook van je HTML-code, maar dat terzijde).
>Niet alleen voor het overzicht maar met name, en dat is ook al aangegeven,
>voor andere mensen binnen een projectteam o.i.d. die wél over kennis
>van HTML hebben, maar niet over PHP.
>
>Waarom wil je je kleine scripts dus gaan combineren met Smarty?

Het is vooral mij bedoeling om PHP van HTML te scheiden (ik gebruik
uiteraard ook CSS, tegewoordig probeer ik wat ik maak ook xhtml
validated te krigen)

Nu heb ik soms tabellen die volledig door echo "..." worden
weergegeven, en dit dan allemaal tussen de rest van mijn PHP code (sql
etc), en dat zou ik liever wat properder oplossen, daarom dacht ik aan
templates.

>
>> dus niet voor de hele layout (incl header/footer),
>
>Smarty, en elke template engine geloof ik, is /juist/ ideaal om de
>gehele vormgeving te scheiden van je PHP-code.

Nu include() ik mijn header en footer in elke file (of dat nu met
statische of dynamische inhoud is)

Voor de sites die ik momenteel gemaakt heb en onderhoud, is +/- de
helft (of iets minder) van de pagina's opgebouwd vanuit een database
(mysql).

>
>> ik vrees dat ik dan
>> in de problemen ga komen als ik bv phpbb (met eigen template engine)
>> in mijn layout integreer.
>
>Bestaande scripts ombouwen, en zeker iets groots phpBB, lijkt me niet
>echt praktisch. *Waarom* wil je eigenlijk Smarty i.c.m. phpBB gaan
>gebruiken?

Als je volledige site met templates wil opbouwen (dus ook header en
foot) lijkt me problemen te geven.
Nu kan ik in phpBB gewoon een header.php en footer.php includen, en
het forum staat mooi in de site 'geïntegreerd'.
Ombouwen is zeker niet mijn bedoeling, wel integreren een site.
>
>> Kunnen jullie ev, eens vermelden voor welke doeleinden je templates
>> gebruikt
>
>De vormgeving van dynamische websites :)
ja uiteraard :-)
(alhoewel ik enkele jaren terug smarty wel totaal verkeerd gebruikt
heb, met als gevolg dat ik nog meer probs kreeg, was toen pas bezig
met php en las op phpbuilder een artilkel waar het aangeraden werd om
smarty op deze manier te gebruiken, ... helaas, misschien daardoor
beetje schrik opgedaan :-))
>
>> (en ev. een url posten)?
>
>Maar dan? Aan de broncode die jij dan voorgeschoteld krijgt verandert
>niets hoor.
Dat is waar, maar kwestie van een gedacht te krijgen voor wat voor
sites anderen templates gebruiken.(ev. met korte schets hoe de site op
de achtergrond is opgebouwd...)
(misschien blijkt het wel dat ik met zo'n kleine 'prutsen' bezig ben
dat het absurd is om templates te gebruiken.

>
>Succes!

Michiel de Roo
29/06/04, 23:25
GeertS wrote:
[...]
> Het is vooral mij bedoeling om PHP van HTML te scheiden (ik gebruik
> uiteraard ook CSS, tegewoordig probeer ik wat ik maak ook xhtml
> validated te krigen)
>
> Nu heb ik soms tabellen die volledig door echo "..." worden
> weergegeven, en dit dan allemaal tussen de rest van mijn PHP code (sql
> etc), en dat zou ik liever wat properder oplossen, daarom dacht ik aan
> templates.

Een goede gedachte zou ik zeggen.

>
>
>>>dus niet voor de hele layout (incl header/footer),
>>
>>Smarty, en elke template engine geloof ik, is /juist/ ideaal om de
>>gehele vormgeving te scheiden van je PHP-code.
>
>
> Nu include() ik mijn header en footer in elke file (of dat nu met
> statische of dynamische inhoud is)

Kan ook in combinatie met templates. Je kunt in je template ook een (klein
onder)deel van je site hebben. Sterker nog, ik gebruik altijd minimaal
drie templates per pagina. Voor formulieren nog veel meer.

>
> Voor de sites die ik momenteel gemaakt heb en onderhoud, is +/- de
> helft (of iets minder) van de pagina's opgebouwd vanuit een database
> (mysql).
>
>
>>>ik vrees dat ik dan
>>>in de problemen ga komen als ik bv phpbb (met eigen template engine)
>>>in mijn layout integreer.
>>
>>Bestaande scripts ombouwen, en zeker iets groots phpBB, lijkt me niet
>>echt praktisch. *Waarom* wil je eigenlijk Smarty i.c.m. phpBB gaan
>>gebruiken?
>
>
> Als je volledige site met templates wil opbouwen (dus ook header en
> foot) lijkt me problemen te geven.
> Nu kan ik in phpBB gewoon een header.php en footer.php includen, en
> het forum staat mooi in de site 'geïntegreerd'.
> Ombouwen is zeker niet mijn bedoeling, wel integreren een site.

Dat kan met templates net zo goed.

>
> Dat is waar, maar kwestie van een gedacht te krijgen voor wat voor
> sites anderen templates gebruiken.(ev. met korte schets hoe de site op
> de achtergrond is opgebouwd...)
> (misschien blijkt het wel dat ik met zo'n kleine 'prutsen' bezig ben
> dat het absurd is om templates te gebruiken.

Kijk eens rond op de sites van TP en Smarty, daar is genoeg te vinden.
Mijn sites is niet veel aan te zien, maar ze zijn te vinden op www.2see.nl

Maarten Wierda
29/06/04, 23:35
GeertS wrote:

> door die blocks die al dan niet 'geactiveerd' zijn, maar dan heb je
> enkel de keuze om iet wel of niet weer te geven.

Meer doet if/else anders niet.

> ik denk bv als je een kleur wil meegeven afhankelijk van de variabele
> (om maar een willekeurig voorbeeld te geven)

Uhm.. Stefan?

<snip>

> Nu heb ik soms tabellen die volledig door echo "..." worden
> weergegeven, en dit dan allemaal tussen de rest van mijn PHP code (sql
> etc), en dat zou ik liever wat properder oplossen, daarom dacht ik aan
> templates.

Daar is {section} ideaal voor.

> Nu include() ik mijn header en footer in elke file (of dat nu met
> statische of dynamische inhoud is)

Smarty ondersteunt ook includes.

>>>ik vrees dat ik dan
>>>in de problemen ga komen als ik bv phpbb (met eigen template engine)
>>>in mijn layout integreer.
>>
>>Bestaande scripts ombouwen, en zeker iets groots phpBB, lijkt me niet
>>echt praktisch. *Waarom* wil je eigenlijk Smarty i.c.m. phpBB gaan
>>gebruiken?
>
>
> Als je volledige site met templates wil opbouwen (dus ook header en
> foot) lijkt me problemen te geven.

Hoezo denk je dat? En wat voor problemen zou dat kunnen geven?

> Nu kan ik in phpBB gewoon een header.php en footer.php includen, en
> het forum staat mooi in de site 'geïntegreerd'.

OK< duidelijk. Maar templates doen iets totaal anders.

> Ombouwen is zeker niet mijn bedoeling, wel integreren een site.

Maar overal waar de PHP-code HTML uitspuugt moet je nu toch variabelen
gaan doorgeven aan de templates?

> (alhoewel ik enkele jaren terug smarty wel totaal verkeerd gebruikt
> heb, met als gevolg dat ik nog meer probs kreeg, was toen pas bezig
> met php en las op phpbuilder een artilkel waar het aangeraden werd om
> smarty op deze manier te gebruiken, ... helaas, misschien daardoor
> beetje schrik opgedaan :-))

Post eens wat code van toen, dan is het makkelijker helpen.

>>>(en ev. een url posten)?
>>
>>Maar dan? Aan de broncode die jij dan voorgeschoteld krijgt verandert
>>niets hoor.
>
> Dat is waar, maar kwestie van een gedacht te krijgen voor wat voor
> sites anderen templates gebruiken.

Dat is m.i. dus compleet irrelevant.

Maar op de website van Smarty (bijv.<http://tinyurl.com/2yd2t>), staan
wel testimonials, waaronder die van <http://pineappletechnologies.com/>.

> (ev. met korte schets hoe de site op
> de achtergrond is opgebouwd...)

Bijv:

<div id="page_faq">
{if $faqList}
<a name="naarBoven" id="naarBoven">&nbsp;</a>

<ol>
{section name=faq loop=$faqList}
<li><a class="link"
href="#{$faqList[faq].orderid}">{$faqList[faq].question|escape:"htmlall"}</a></li>
{/section}
</ol>

{section name=faq loop=$faqList}
<p class="vraag"><a name="{$faqList[faq].orderid}"
id="{$faqList[faq].orderid}"><strong>{$faqList[faq].question|escape:"htmlall"}</strong></a></p>
<p class="antwoord">{$faqList[faq].answer}</p>
<p class="naarboven"><a class="link" href="#naarBoven">naar boven</a></p>
{/section}

</div>
{else}
<p>Momenteel zijn er geen vragen en antwoorden beschikbaar.</p>
{/if}

> (misschien blijkt het wel dat ik met zo'n kleine 'prutsen' bezig ben
> dat het absurd is om templates te gebruiken.

Ik vond Michiels post vrij duidelijk:

"Ik gebruik altijd Smarty. Bij voorkeur gebruik ik zelfs 0,0 html in
mijn scripts, alle html loopt via de templates."

:)

--
Cheers,
Maarten Wierda

"Organized Confusion" - KDC

GeertS
30/06/04, 00:15
On Tue, 29 Jun 2004 23:20:14 +0200, Maarten Wierda
<maartenAT@norecessDOT.com> wrote:

>GeertS wrote:
>
>> door die blocks die al dan niet 'geactiveerd' zijn, maar dan heb je
>> enkel de keuze om iet wel of niet weer te geven.
>
>Meer doet if/else anders niet.
>
>> ik denk bv als je een kleur wil meegeven afhankelijk van de variabele
>> (om maar een willekeurig voorbeeld te geven)
>
>Uhm.. Stefan?

of bij forms: adhv een variabele bij een keuzelijst een optie
selecteren (dus selected="selected" aan een <option> toevoegen)

>
><snip>
>
>> Nu heb ik soms tabellen die volledig door echo "..." worden
>> weergegeven, en dit dan allemaal tussen de rest van mijn PHP code (sql
>> etc), en dat zou ik liever wat properder oplossen, daarom dacht ik aan
>> templates.
>
>Daar is {section} ideaal voor.
>
>> Nu include() ik mijn header en footer in elke file (of dat nu met
>> statische of dynamische inhoud is)
>
>Smarty ondersteunt ook includes.
>
>>>>ik vrees dat ik dan
>>>>in de problemen ga komen als ik bv phpbb (met eigen template engine)
>>>>in mijn layout integreer.
>>>
>>>Bestaande scripts ombouwen, en zeker iets groots phpBB, lijkt me niet
>>>echt praktisch. *Waarom* wil je eigenlijk Smarty i.c.m. phpBB gaan
>>>gebruiken?
>>
>>
>> Als je volledige site met templates wil opbouwen (dus ook header en
>> foot) lijkt me problemen te geven.
>
>Hoezo denk je dat? En wat voor problemen zou dat kunnen geven?
>
>> Nu kan ik in phpBB gewoon een header.php en footer.php includen, en
>> het forum staat mooi in de site 'geïntegreerd'.
>
>OK< duidelijk. Maar templates doen iets totaal anders.
>
>> Ombouwen is zeker niet mijn bedoeling, wel integreren een site.
>
>Maar overal waar de PHP-code HTML uitspuugt moet je nu toch variabelen
>gaan doorgeven aan de templates?
>
>> (alhoewel ik enkele jaren terug smarty wel totaal verkeerd gebruikt
>> heb, met als gevolg dat ik nog meer probs kreeg, was toen pas bezig
>> met php en las op phpbuilder een artilkel waar het aangeraden werd om
>> smarty op deze manier te gebruiken, ... helaas, misschien daardoor
>> beetje schrik opgedaan :-))
>
>Post eens wat code van toen, dan is het makkelijker helpen.
>
>>>>(en ev. een url posten)?
>>>
>>>Maar dan? Aan de broncode die jij dan voorgeschoteld krijgt verandert
>>>niets hoor.
>>
>> Dat is waar, maar kwestie van een gedacht te krijgen voor wat voor
>> sites anderen templates gebruiken.
>
>Dat is m.i. dus compleet irrelevant.
>
>Maar op de website van Smarty (bijv.<http://tinyurl.com/2yd2t>), staan
>wel testimonials, waaronder die van <http://pineappletechnologies.com/>.
>
>> (ev. met korte schets hoe de site op
>> de achtergrond is opgebouwd...)
>
>Bijv:
>
><div id="page_faq">
>{if $faqList}
> <a name="naarBoven" id="naarBoven">&nbsp;</a>
>
> <ol>
>{section name=faq loop=$faqList}
> <li><a class="link"
>href="#{$faqList[faq].orderid}">{$faqList[faq].question|escape:"htmlall"}</a></li>
>{/section}
> </ol>
>
>{section name=faq loop=$faqList}
> <p class="vraag"><a name="{$faqList[faq].orderid}"
>id="{$faqList[faq].orderid}"><strong>{$faqList[faq].question|escape:"htmlall"}</strong></a></p>
> <p class="antwoord">{$faqList[faq].answer}</p>
> <p class="naarboven"><a class="link" href="#naarBoven">naar boven</a></p>
>{/section}
>
></div>
>{else}
><p>Momenteel zijn er geen vragen en antwoorden beschikbaar.</p>
>{/if}

dit lijkt me ook een voorbeeld dat niet met TP te realiseren valt...
Stefan?
>
>> (misschien blijkt het wel dat ik met zo'n kleine 'prutsen' bezig ben
>> dat het absurd is om templates te gebruiken.
>
>Ik vond Michiels post vrij duidelijk:
>
>"Ik gebruik altijd Smarty. Bij voorkeur gebruik ik zelfs 0,0 html in
>mijn scripts, alle html loopt via de templates."
>
>:)
de sites waar ik momenteel aan bezig ben zijn 92ste.be (nieuws,
leidingsgegevens, links komen momenteel uit database. Er zijn ook al
inschrijvingsformulieren geweest, maar die staan momenteel niet meer
online)
en (antwerpen.)cactusweelde.be, (voor de lijst met clubs en
jaarprogramma lijken me templates zeker handig omdat dezelfde gegevens
op de 2 sites gebruikt worden)
sommige pagina's zijn puur tekst, andere opgebouwd adhv gegevens in
een database.

Michiel de Roo
30/06/04, 01:05
GeertS wrote:
>>Bijv:
>>
>><div id="page_faq">
>>{if $faqList}
>> <a name="naarBoven" id="naarBoven">&nbsp;</a>
>>
>> <ol>
>>{section name=faq loop=$faqList}
>> <li><a class="link"
>>href="#{$faqList[faq].orderid}">{$faqList[faq].question|escape:"htmlall"}</a></li>
>>{/section}
>> </ol>
>>
>>{section name=faq loop=$faqList}
>> <p class="vraag"><a name="{$faqList[faq].orderid}"
>>id="{$faqList[faq].orderid}"><strong>{$faqList[faq].question|escape:"htmlall"}</strong></a></p>
>> <p class="antwoord">{$faqList[faq].answer}</p>
>> <p class="naarboven"><a class="link" href="#naarBoven">naar boven</a></p>
>>{/section}
>>
>></div>
>>{else}
>><p>Momenteel zijn er geen vragen en antwoorden beschikbaar.</p>
>>{/if}
>
>
> dit lijkt me ook een voorbeeld dat niet met TP te realiseren valt...
> Stefan?

Elk voorbeeld is zowel met Smarty als TP te realiseren. Het betekent
alleen dat je een deel van je code naar een andere plek verhuist. Bij TP
zal er meer functionaliteit in je script verdwijnen. Bij Smarty kan er een
deel in je template staan.

GeertS
30/06/04, 11:55
On Wed, 30 Jun 2004 00:49:35 +0200, Michiel de Roo
<yourlove@welovespam.nl> wrote:

>GeertS wrote:
>>>Bijv:
>>>
>>><div id="page_faq">
>>>{if $faqList}
>>> <a name="naarBoven" id="naarBoven">&nbsp;</a>
>>>
>>> <ol>
>>>{section name=faq loop=$faqList}
>>> <li><a class="link"
>>>href="#{$faqList[faq].orderid}">{$faqList[faq].question|escape:"htmlall"}</a></li>
>>>{/section}
>>> </ol>
>>>
>>>{section name=faq loop=$faqList}
>>> <p class="vraag"><a name="{$faqList[faq].orderid}"
>>>id="{$faqList[faq].orderid}"><strong>{$faqList[faq].question|escape:"htmlall"}</strong></a></p>
>>> <p class="antwoord">{$faqList[faq].answer}</p>
>>> <p class="naarboven"><a class="link" href="#naarBoven">naar boven</a></p>
>>>{/section}
>>>
>>></div>
>>>{else}
>>><p>Momenteel zijn er geen vragen en antwoorden beschikbaar.</p>
>>>{/if}
>>
>>
>> dit lijkt me ook een voorbeeld dat niet met TP te realiseren valt...
>> Stefan?
>
>Elk voorbeeld is zowel met Smarty als TP te realiseren. Het betekent
>alleen dat je een deel van je code naar een andere plek verhuist. Bij TP
>zal er meer functionaliteit in je script verdwijnen. Bij Smarty kan er een
>deel in je template staan.
Zonder ook maar iets van html/css in het php-script te zetten?

Michiel de Roo
30/06/04, 12:05
GeertS wrote:
> On Wed, 30 Jun 2004 00:49:35 +0200, Michiel de Roo
> <yourlove@welovespam.nl> wrote:
>
>
>>GeertS wrote:
>>
>>>>Bijv:
>>>>
>>>><div id="page_faq">
>>>>{if $faqList}
>>>> <a name="naarBoven" id="naarBoven">&nbsp;</a>
>>>>
>>>> <ol>
>>>>{section name=faq loop=$faqList}
>>>> <li><a class="link"
>>>>href="#{$faqList[faq].orderid}">{$faqList[faq].question|escape:"htmlall"}</a></li>
>>>>{/section}
>>>> </ol>
>>>>
>>>>{section name=faq loop=$faqList}
>>>> <p class="vraag"><a name="{$faqList[faq].orderid}"
>>>>id="{$faqList[faq].orderid}"><strong>{$faqList[faq].question|escape:"htmlall"}</strong></a></p>
>>>> <p class="antwoord">{$faqList[faq].answer}</p>
>>>> <p class="naarboven"><a class="link" href="#naarBoven">naar boven</a></p>
>>>>{/section}
>>>>
>>>></div>
>>>>{else}
>>>><p>Momenteel zijn er geen vragen en antwoorden beschikbaar.</p>
>>>>{/if}
>>>
>>>
>>>dit lijkt me ook een voorbeeld dat niet met TP te realiseren valt...
>>>Stefan?
>>
>>Elk voorbeeld is zowel met Smarty als TP te realiseren. Het betekent
>>alleen dat je een deel van je code naar een andere plek verhuist. Bij TP
>>zal er meer functionaliteit in je script verdwijnen. Bij Smarty kan er een
>>deel in je template staan.
>
> Zonder ook maar iets van html/css in het php-script te zetten?

Ja hoor, geen probleem. In extreme gevallen zul je wellicht een stukje php
in je template moeten zetten met {php}...{/php} maar dat is echt zelden
nodig.

Stefan Koopmanschap (remove withoutspam to e-mail)
30/06/04, 23:25
GeertS wrote:
> Wat ik bij TP wel mis, is een if/else mogelijkheid.

die kan je gewoon bouwen door middel van de BLOCKs die ze hebben. BLOCKs
hoeven namelijk niet per se aangeroepen te worden. Doe je dat niet, dan
wordt ie niet getoond.

> Ik zou momenteel templates gebruiken voor 'losse', vrij kleine scripts
> (zoals bv nieuws, links, adressenlijst, formulieren) op mijn sites,
> dus niet voor de hele layout (incl header/footer), ik vrees dat ik dan
> in de problemen ga komen als ik bv phpbb (met eigen template engine)
> in mijn layout integreer.

Tja, maar je houd het inderdaad altijd een beetje, als je phpBB of
andere standaardscripts gebruikt. Tenzij die met TP werken. Gewoon
dubbel je templates opmaken (die van phpBB kan je dan apart opmaken) en
dan is er niets aan de hand.

> Kunnen jullie ev, eens vermelden voor welke doeleinden je templates
> gebruikt (en ev. een url posten)?

hele sites. de meesten van de recente projecten in mijn portfolio zijn
met templatepower gemaakt. www.electronicmusicworld.com,
www.fantasylibrary.net, www.stefankoopmanschap.nl ... allemaal
templatepower.

--
Stefan Koopmanschap
PHP/MySQL developer - websites, intranet and extranet systems and more...
http://www.stefankoopmanschap.com/
php@stefankoopmanschap.com

Stefan Koopmanschap (remove withoutspam to e-mail)
30/06/04, 23:25
GeertS wrote:
> door die blocks die al dan niet 'geactiveerd' zijn, maar dan heb je
> enkel de keuze om iet wel of niet weer te geven.
>
> ik denk bv als je een kleur wil meegeven afhankelijk van de variabele
> (om maar een willekeurig voorbeeld te geven)

en daar heb je de placeholders voor. je bepaald dan wel in php de
kleurcode bijvoorbeeld, en die zet je dan in je template. blocks is voor
wel/niet weergeven, de placeholders voor de informatie die moet worden
weergegeven. een beetje onhandig kan het ook met blocks hoor, maar da's
onzin. de placeholders zijn ervoor om informatie in je templates te zetten.

> Nu heb ik soms tabellen die volledig door echo "..." worden
> weergegeven, en dit dan allemaal tussen de rest van mijn PHP code (sql
> etc), en dat zou ik liever wat properder oplossen, daarom dacht ik aan
> templates.

een hele goede reden als je het mij vraagt.


> Nu include() ik mijn header en footer in elke file (of dat nu met
> statische of dynamische inhoud is)

kan ook. ;)

> Voor de sites die ik momenteel gemaakt heb en onderhoud, is +/- de
> helft (of iets minder) van de pagina's opgebouwd vanuit een database
> (mysql).

het maakt voor om het even welke template engine niets uit hoeveel % van
je inhoud dynamisch is.

--
Stefan Koopmanschap
PHP/MySQL developer - websites, intranet and extranet systems and more...
http://www.stefankoopmanschap.com/
php@stefankoopmanschap.com

Stefan Koopmanschap (remove withoutspam to e-mail)
30/06/04, 23:35
Maarten Wierda wrote:
>> ik denk bv als je een kleur wil meegeven afhankelijk van de variabele
>> (om maar een willekeurig voorbeeld te geven)
>
> Uhm.. Stefan?

heh. een hele dag op locatie gewerkt bij een klant, en meteen heeft men
mij nodig ;)

gewoon een placeholder. voorbeeld:

--- snip snip de template ---

<table style="background-color:#{TABLEBG}">

--- snip snip de template ---

--- snip snip de php ---
$tpl = new TemplatePower('templates/template.tpl');
$tpl->prepare();
if($user->loggedIn()) {
$tablebg="00FF00";
} else {
$tablebg="FF0000";
}
$tpl->assign('TABLEBG', $tablebg);
$tpl->printToScreen();
--- snip snip de php ---

--
Stefan Koopmanschap
PHP/MySQL developer - websites, intranet and extranet systems and more...
http://www.stefankoopmanschap.com/
php@stefankoopmanschap.com

Stefan Koopmanschap (remove withoutspam to e-mail)
30/06/04, 23:45
GeertS wrote:
> of bij forms: adhv een variabele bij een keuzelijst een optie
> selecteren (dus selected="selected" aan een <option> toevoegen)

ook heel simpel:

--- template ---
<select name="select">
<!-- START BLOCK : option -->
<option value="{VALUE}" {SELECTED}>{NAAM}</option>
<!-- END BLOCK : option -->
</select>
--- /template ---

--- php ---
// hierboven wordt het TP object aangemaakt enzo

foreach($options as $option) {
$tpl->newBlock('option');
$tpl->assign('VALUE', $option->getValue());
$tpl->assign('NAAM', $option->getName());
if($option->getValue()==$_POST['select']) {
$tpl->assign('SELECTED', 'SELECTED');
}
}

> dit lijkt me ook een voorbeeld dat niet met TP te realiseren valt...
> Stefan?

<div id="page_faq">
<!-- START BLOCK : faq -->
<a name="naarBoven" id="naarBoven">&nbsp;</a>
<ol>
<!-- START BLOCK : shortlist -->
<li><a class="link" href="#{ID}">{QUESTION}</a></li>
<!-- END BLOCK : shortlist -->
</ol>

<!-- START BLOCK : longlist -->
<p class="vraag"><a name="{ID}"
id="{ID}"><strong>{QUESTION}</strong></a></p>
<p class="antwoord">{ANSWER}</p>
<p class="naarboven"><a class="link" href="#naarBoven">naar boven</a></p>
<!-- END BLOCK : longlist -->
<!-- END BLOCK : faq -->
<!-- START BLOCK : geenfaq -->
<p>Momenteel zijn er geen vragen en antwoorden beschikbaar.</p>
<!-- END BLOCK : geenfaq -->
</div>

en dit bedoel ik dus met de scheiding van logica en opmaak. er zit nu
helemaal geen logica meer in je templates, alleen maar vormgeving. de
logica wordt vanuit de php gedaan. bij TP kan je (volgens mij bij smarty
ook?) blocks gewoon nesten.

ik hoop dat dit een beetje duidelijk is

--
Stefan Koopmanschap
PHP/MySQL developer - websites, intranet and extranet systems and more...
http://www.stefankoopmanschap.com/
php@stefankoopmanschap.com

Jaap de Bergen
01/07/04, 09:45
On Wed, 30 Jun 2004 23:25:16 +0400, "Stefan Koopmanschap (remove
withoutspam to e-mail)" <stefan@stefankoopmanschapwithoutspam.nl>
wrote:


>
>en dit bedoel ik dus met de scheiding van logica en opmaak. er zit nu
>helemaal geen logica meer in je templates, alleen maar vormgeving. de
>logica wordt vanuit de php gedaan. bij TP kan je (volgens mij bij smarty
>ook?) blocks gewoon nesten.
>

Ik ben eigenlijk best wel in voor logica in de templates. Natuurlijk
moet het geen business logica zijn, maar logica om het ontwerp goed te
krijgen. Bijvoorbeeld:

#foreach($item in $list) ##lijst komt uit de controller layer
<tr>
#if($item.on)
<td>aan</td>
#else
<td>&nbsp;</td>
#end
<td>$item.name</td>
</tr>
#end

Had je hier geen if'je, dan had je in $item.on de string "aan" of
"&nbsp;" moeten zetten. Dan houd je business layer zich bezig houd hoe
items verschijnen.



Jaap

Daniel Tryba
01/07/04, 10:55
Jaap de Bergen <DEBERGEN.COM@remove_this_to_emaildomainsbyproxy.co m > wrote:
> Had je hier geen if'je, dan had je in $item.on de string "aan" of
> "&nbsp;" moeten zetten. Dan houd je business layer zich bezig houd hoe
> items verschijnen.

Nu heb je het probleem dat &nbsp; per definitie gebonden aan whateverML.
De businesslogica geeft in dit geval waarschijnlijk een boolean, iets
moet dat omlullen. Als je bv een nieuwe output mogelijk wilt maken welke
toevallig wel het fenomeen boolean kent (bv xmlrpc), is het natuurlijk
het handigst als je alleen maar de output template hoeft te wijzigen.

Als je je opzet dan redelijk in een MVC vorm hebt gegoten zou in dit
ideaal geval al je businesslogica in het Model zitten, de template in de
View en het omlullen van de b.l. naar template in het stukje script wat
de templateengine aanstuurd, de "Controller" (altijd een beetje
problematisch in deze gevallen IMHO).

In het geval van smarty zou je dan inderdaad voor jou oplossing kiezen
of wellicht nog beter een custom modifier te maken:

....foreach...
<td><%=$item.on|bool2html|escape%></td>
....

Met als de modifier in z'n eenvoudigste vorm:

function smarty_modifier_bool2html($bool)
{
return $bool?'aan':' ';
}

--

Daniel Tryba

GeertS
01/07/04, 19:05
On Wed, 30 Jun 2004 23:07:30 +0400, "Stefan Koopmanschap (remove
withoutspam to e-mail)" <stefan@stefankoopmanschapwithoutspam.nl>
wrote:

>> Ik zou momenteel templates gebruiken voor 'losse', vrij kleine scripts
>> (zoals bv nieuws, links, adressenlijst, formulieren) op mijn sites,
>> dus niet voor de hele layout (incl header/footer), ik vrees dat ik dan
>> in de problemen ga komen als ik bv phpbb (met eigen template engine)
>> in mijn layout integreer.
>
>Tja, maar je houd het inderdaad altijd een beetje, als je phpBB of
>andere standaardscripts gebruikt. Tenzij die met TP werken. Gewoon
>dubbel je templates opmaken (die van phpBB kan je dan apart opmaken) en
>dan is er niets aan de hand.
Maar je kan dan toch niet gewoon je header-template includen met de
include-functie van TP zoals je in je templates kan doen?
Of is het best om header/footer altijd als php file te includen (in
het php script zelf dus) ?

Maarten Wierda
01/07/04, 23:05
GeertS wrote:

> Maar je kan dan toch niet gewoon je header-template includen met de
> include-functie van TP zoals je in je templates kan doen?

Nee.

> Of is het best om header/footer altijd als php file te includen (in
> het php script zelf dus) ?

Als je templates _goed_ wilt gebruiken, moet je deze voor de gehele
opmaak gebruiken imo. Je headers, footers, menu's, servicemenu's etc.
include je dus in je template-bestanden.

--
Cheers,
Maarten Wierda

"Organized Confusion" - KDC

GeertS
02/07/04, 15:35
On Thu, 01 Jul 2004 23:14:17 +0400, "Stefan Koopmanschap (remove
withoutspam to e-mail)" <stefan@stefankoopmanschapwithoutspam.nl>
wrote:

>GeertS wrote:
>> On Wed, 30 Jun 2004 23:07:30 +0400, "Stefan Koopmanschap (remove
>> withoutspam to e-mail)" <stefan@stefankoopmanschapwithoutspam.nl>
>> wrote:
>>
>>
>>>>Ik zou momenteel templates gebruiken voor 'losse', vrij kleine scripts
>>>>(zoals bv nieuws, links, adressenlijst, formulieren) op mijn sites,
>>>>dus niet voor de hele layout (incl header/footer), ik vrees dat ik dan
>>>>in de problemen ga komen als ik bv phpbb (met eigen template engine)
>>>>in mijn layout integreer.
>>>
>>>Tja, maar je houd het inderdaad altijd een beetje, als je phpBB of
>>>andere standaardscripts gebruikt. Tenzij die met TP werken. Gewoon
>>>dubbel je templates opmaken (die van phpBB kan je dan apart opmaken) en
>>>dan is er niets aan de hand.
>>
>> Maar je kan dan toch niet gewoon je header-template includen met de
>> include-functie van TP zoals je in je templates kan doen?
>> Of is het best om header/footer altijd als php file te includen (in
>> het php script zelf dus) ?
>
>in phpBB en in TP kan je niet een header en footer includen met de php
>functie include. en dan moet je ook niet willen denk ik. Je vormgeving
>kan je mooi in de templates gooien, phpBB of TP of welk ander template
>systeem dan ook
niet geinclude in de templates zelf, maar op www.92ste.be/forum/ is
het me toch gelukt, ok, het zou inderdaad beter kunnen.
ook het fotoalbum op die site (mig) heeft zijn eigen templates, dus in
de php file mijn header/footer geinclude.
Omdat ik zowel bestaande scripts als zelfgemaakte scripts gebruik
vrees ik voor problemen als ik een site in zijn geheel met templates
maak Voor bestaande script in de layout van een site te integreren is
het dus nodig om een php-file in een andere te includen (tenzij het
script dezelfde template-engine zou gebruiken, maar phpBB heeft zijn
eigen template-engine al).

gs

GeertS
02/07/04, 15:45
On Thu, 01 Jul 2004 22:51:20 +0200, Maarten Wierda
<maartenAT@norecessDOT.com> wrote:

>GeertS wrote:
>
>> Maar je kan dan toch niet gewoon je header-template includen met de
>> include-functie van TP zoals je in je templates kan doen?
>
>Nee.
>
>> Of is het best om header/footer altijd als php file te includen (in
>> het php script zelf dus) ?
>
>Als je templates _goed_ wilt gebruiken, moet je deze voor de gehele
>opmaak gebruiken imo. Je headers, footers, menu's, servicemenu's etc.
>include je dus in je template-bestanden.
Mijn antwoord op de post van Stefan is in feite ook wel een antwoord
op deze post, beide posts na elkaar gelezen en één antwoord
geformuleerd...

GeertS
02/07/04, 15:45
On Thu, 01 Jul 2004 22:51:20 +0200, Maarten Wierda
<maartenAT@norecessDOT.com> wrote:

>GeertS wrote:
>
>> Maar je kan dan toch niet gewoon je header-template includen met de
>> include-functie van TP zoals je in je templates kan doen?
>
>Nee.
>
>> Of is het best om header/footer altijd als php file te includen (in
>> het php script zelf dus) ?
>
>Als je templates _goed_ wilt gebruiken, moet je deze voor de gehele
>opmaak gebruiken imo. Je headers, footers, menu's, servicemenu's etc.
>include je dus in je template-bestanden.
Omdat ik zowel bestaande scripts als zelfgemaakte scripts gebruik
vrees ik voor problemen als ik een site in zijn geheel met templates
maak Voor bestaande script in de layout van een site te integreren is
het dus nodig om een php-file in een andere te includen (tenzij het
script dezelfde template-engine zou gebruiken, maar phpBB heeft zijn
eigen template-engine al).

GeertS
02/07/04, 15:45
On Thu, 01 Jul 2004 23:14:17 +0400, "Stefan Koopmanschap (remove
withoutspam to e-mail)" <stefan@stefankoopmanschapwithoutspam.nl>
wrote:

>GeertS wrote:
>> On Wed, 30 Jun 2004 23:07:30 +0400, "Stefan Koopmanschap (remove
>> withoutspam to e-mail)" <stefan@stefankoopmanschapwithoutspam.nl>
>> wrote:
>>
>>
>>>>Ik zou momenteel templates gebruiken voor 'losse', vrij kleine scripts
>>>>(zoals bv nieuws, links, adressenlijst, formulieren) op mijn sites,
>>>>dus niet voor de hele layout (incl header/footer), ik vrees dat ik dan
>>>>in de problemen ga komen als ik bv phpbb (met eigen template engine)
>>>>in mijn layout integreer.
>>>
>>>Tja, maar je houd het inderdaad altijd een beetje, als je phpBB of
>>>andere standaardscripts gebruikt. Tenzij die met TP werken. Gewoon
>>>dubbel je templates opmaken (die van phpBB kan je dan apart opmaken) en
>>>dan is er niets aan de hand.
>>
>> Maar je kan dan toch niet gewoon je header-template includen met de
>> include-functie van TP zoals je in je templates kan doen?
>> Of is het best om header/footer altijd als php file te includen (in
>> het php script zelf dus) ?
>
>in phpBB en in TP kan je niet een header en footer includen met de php
>functie include. en dan moet je ook niet willen denk ik. Je vormgeving
>kan je mooi in de templates gooien, phpBB of TP of welk ander template
>systeem dan ook
niet geinclude in de templates zelf, maar op www.92ste.be/forum/ is
het me toch gelukt, ok, het zou inderdaad beter kunnen.
ook het fotoalbum op die site (mig) heeft zijn eigen templates, dus in
de php file mijn header/footer geinclude.

Maarten Wierda
03/07/04, 13:05
GeertS wrote:

> Omdat ik zowel bestaande scripts als zelfgemaakte scripts gebruik
> vrees ik voor problemen als ik een site in zijn geheel met templates
> maak

Wat voor bestaande, ingewikkelde scripts gebruik jij dan zoal?


--
Cheers,
Maarten Wierda

"Organized Confusion" - KDC

GeertS
03/07/04, 15:05
On Sat, 03 Jul 2004 12:58:44 +0200, Maarten Wierda
<maartenAT@norecessDOT.com> wrote:

>GeertS wrote:
>
>> Omdat ik zowel bestaande scripts als zelfgemaakte scripts gebruik
>> vrees ik voor problemen als ik een site in zijn geheel met templates
>> maak
>
>Wat voor bestaande, ingewikkelde scripts gebruik jij dan zoal?
phpBB en mig (misschien niet zo spectaculair, maar ik ben dan ook geen
professioneel programmeur), en phpdig (als ik die terug aan de praat
krijg)
Maar ik denk dat ik een header zowieso best al php include omdat ik
daar ook de connectie maak naar de database.

Maarten Wierda
03/07/04, 15:55
GeertS wrote:

>>Wat voor bestaande, ingewikkelde scripts gebruik jij dan zoal?
>
> phpBB en mig (misschien niet zo spectaculair, maar ik ben dan ook geen
> professioneel programmeur), en phpdig (als ik die terug aan de praat
> krijg)

Ik gebruik zelf niet voor iedere website een forum. Voor andere
functionaliteit die ik vaak gebruik (nieuws, faq, gastenboek,
nieuwsbrief e.d.) heb ik standaard klassen liggen. Deze klassen
genereren geen output en zijn prima te gebruiken i.c.m. templates.

Je /hoeft/ niet voor alles templates te gebruiken. Het zou stom zijn
grote scripts als phpBB om te bouwen zodat 't werkt i.c.m. een template
engine als Smarty.

> Maar ik denk dat ik een header zowieso best al php include omdat ik
> daar ook de connectie maak naar de database.

Ik kan begrijpen dat je de verbinding met de database in een apart
bestand plaatst en deze vervolgens incluseert wanneer je een connectie
nodig hebt. Maar dat heeft niks te maken met een header waar we 't
eerder over hadden, namelijk een header die deel uitmaakt van de vormgeving.

Anyway, volgens mij weet je nu beter wat templates zijn, hoe je ze moet
gebruiken en wanneer je ze moet gebruiken. Ik heb het idee dat we nu
steeds in de herhaling vallen :)


--
Cheers,
Maarten Wierda (ook zeker geen professioneel programmeur)

"Organized Confusion" - KDC

GeertS
08/07/04, 17:05
On Sat, 03 Jul 2004 15:44:20 +0200, Maarten Wierda
<maartenAT@norecessDOT.com> wrote:

>GeertS wrote:
>
>>>Wat voor bestaande, ingewikkelde scripts gebruik jij dan zoal?
>>
>> phpBB en mig (misschien niet zo spectaculair, maar ik ben dan ook geen
>> professioneel programmeur), en phpdig (als ik die terug aan de praat
>> krijg)
>
>Ik gebruik zelf niet voor iedere website een forum. Voor andere
>functionaliteit die ik vaak gebruik (nieuws, faq, gastenboek,
>nieuwsbrief e.d.) heb ik standaard klassen liggen. Deze klassen
>genereren geen output en zijn prima te gebruiken i.c.m. templates.
>
>Je /hoeft/ niet voor alles templates te gebruiken. Het zou stom zijn
>grote scripts als phpBB om te bouwen zodat 't werkt i.c.m. een template
>engine als Smarty.
>
>> Maar ik denk dat ik een header zowieso best al php include omdat ik
>> daar ook de connectie maak naar de database.
>
>Ik kan begrijpen dat je de verbinding met de database in een apart
>bestand plaatst en deze vervolgens incluseert wanneer je een connectie
>nodig hebt. Maar dat heeft niks te maken met een header waar we 't
>eerder over hadden, namelijk een header die deel uitmaakt van de vormgeving.
momenteel heb ik een header.php waar zowel de hoofding van mijn site
(lay-out) inzit, maar ook de databaseconnectie zit in datzelfde
bestand.

>
>Anyway, volgens mij weet je nu beter wat templates zijn, hoe je ze moet
>gebruiken en wanneer je ze moet gebruiken. Ik heb het idee dat we nu
>steeds in de herhaling vallen :)

Bedankt voor de uitleg trouwens.
Nu nog eens smarty en templatepower vergelijken en bekijken met welke
ik in mijn geval beste ben. Ze hebben beide hun voordelen.
Het moet (zoals ik waarschijnlijk al vermeld heb) voor amateursites
dienen (misschien hebben jullie deze ondertussen al bekeken)

gs

Maarten Wierda
08/07/04, 20:55
GeertS wrote:

> momenteel heb ik een header.php waar zowel de hoofding van mijn site
> (lay-out) inzit, maar ook de databaseconnectie zit in datzelfde
> bestand.

Met een template-engine scheid je dat dus.

Bijv:

require_once("__class.smarty.2.6.0/Smarty.class.php");
require_once("__class.ezSQL/ez_sql.php");

$s = new Smarty();
$db = new db(DB_USER, DB_PASS, DB_NAME, DB_HOST);

$s->display("main.tpl");

In main.tpl zet je bovenin:

{include file="header.tpl" pageTitle=$pageTitle}

En in header.tpl

<html>
<head>
<title>{$pageTitle|escape:"htmlall"}</title>
<style type="text/css" title="defaultStyle">
@import "{$pageUri}css/main.css";
</style>
<script type="text/javascript"></script>

> Bedankt voor de uitleg trouwens.

Graag gedaan.

> Nu nog eens smarty en templatepower vergelijken en bekijken met welke
> ik in mijn geval beste ben. Ze hebben beide hun voordelen.
> Het moet (zoals ik waarschijnlijk al vermeld heb) voor amateursites
> dienen

Dat is niet relevant. Technieken als Flash of Javascript of wat dan ook
is ook niet bedoeld voor /alleen/ grote sites.


--
Cheers,
Maarten Wierda

"Organized Confusion" - KDC