login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Templates: blocks

Offline matthias - 13/11/2004 11:42
Avatar van matthiasPHP interesse Hallo,

Ik ben vanmorgen even een klein TPL parsertje inelkaar gezet.
Nouja, hij werkt prima.

Maar nu stuit ik op een probleempje waar ik echt niet uit komt.
Namelijk "block's".

Ik heb op sitemasters (deze site dus) als gezocht naar scripts/tutorials. maar daar kwamen niet echt veel bruikbare dingen in voor (qua block's).

Nu is mijn vraag, hoe maak ik zo'n functie met "block's".

dus alles dat tussen:

<-- START: testblock
// inhoud testblock
<-- STOP: testblock

staat, moet dan worden weergeven.

Wie kan mij een eindje opweg helpen?

Alvast bedankt
Mvg
Matthias

6 antwoorden

Gesponsorde links
Offline Thomas - 13/11/2004 12:04
Avatar van Thomas Moderator Ik neem aan dat je met classes werkt ?

Misschien is het een idee om het volgende te doen:
- schrijf een methode waarmee je dynamic blocks kunt definieren, hiermee kun je dan gaan zoeken naar regels (openings en sluitingstags van een dynamic block kun je beter op een aparte regel zetten) die van de vorm <!-- START: naamvanjeblock --> zijn.
Je kunt dan eenmalig zo'n block uitlezen, en als een soort van mini-templateje opslaan.
- verder moet je dynamic blocks apart parsen. Je kan dan het volgende doen:
De eerste keer dat je je dynamic block uitleest, vervang je dit hele blok door een speciaal soort template variabele {naamvanjeblock} of iets dergelijks. Elke keer als je een resultaatrij in een block wil parsen, pak je de eerder opgeslagen mini-template erbij, parsed deze met zijn actuele waarden, en plak je deze op de plaats van {naamvanjeblock}. Waarschijnlijk komen hier nog meer rijen achter, dus plak je {naamvanjeblock} weer aan het einde vast. Ik denk dat zoiets wel gaat, maar dan heb je het nog niet gehad over geneste blokken enzo .
Offline matthias - 13/11/2004 12:39
Avatar van matthias PHP interesse ja, klopt. ik werk mat classes.

maar zou je (of iemand anders ) even een klein voorbeeldje kunnen laten zien.

Want ik snap niet echt hoe je dat moet "parsen".
Offline Fenrir - 13/11/2004 13:07
Avatar van Fenrir PHP expert #OFF: Je kunt php als template-engine gebruiken, dat is snel en eenvoudig:

  1. <html>
  2. <body>
  3. <ul>
  4. <?php
  5. foreach ($tpl['menu'] as $menulink){
  6. ?>
  7. <li><?=$menulink?></li>
  8. <?php
  9. }
  10. ?>
  11. </ul>
  12. <?=$tpl['content']?>
  13. </body>
  14. </html>
Offline matthias - 13/11/2004 13:13
Avatar van matthias PHP interesse Euh, tja Fenrir. dat snap ik 

Maar daar vroeg ik jammer genoeg niet om.
Mijn vraag was of iemand een voorbeeldje kon geven van een "block" functie.

Daar kom ik namelijk niet uit.
Offline Fenrir - 13/11/2004 13:15
Avatar van Fenrir PHP expert mss kun je in de code van http://yapter.sourceforge.net/?action=syntax

kijken, die is eenvoudig, en heeft blocks...
Offline Thomas - 13/11/2004 13:31
Avatar van Thomas Moderator Yapter werkt volgens mij nog niet goed ?
Ik vind hem in ieder geval niet fijn werken.

Ik ben sinds een tijdje aan het experimenteren met TemplatePower:
http://templatepower.codocad.com/
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.171s