login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Template

Offline smoos - 01/08/2005 21:39
Avatar van smoosPHP gevorderde oke ik begrijp iets niet van templates en ik hoopte dat iemand hier me het kon uitleggen.

ik heb bv een while die de 5 nieuwste leden neertyft.
maar hoe doe ik dit op een manier dat ik het in een variabele gooie voor elk 1.

ik d8 zelf aan zoiets:
  1. <?php
  2. $qnl = mysql_query("SELECT nick FROM leden WHERE ORDER BY datum DESC limit 5");
  3.  
  4. while ($anl = mysql_fetch_assoc($qnl)) {
  5. $nick[] = $anl['nick'];
  6. }
  7. ?>

maar volgens mij kan ik dit dan nooit appart weergeven in een template.

snappe jullie wat ik bedoel en wat ik dus wil?

10 antwoorden

Gesponsorde links
Offline haytjes - 01/08/2005 21:46
Avatar van haytjes Gouden medailleGouden medaille

JS gevorderde
welke template gebruik je wel???
Offline smoos - 01/08/2005 21:47
Avatar van smoos PHP gevorderde ahjah goeie vraag haha srry vergete 

deze --> TemplatePower

maar als er mensen hier zijn die andere aanrade hoor ik het graag
Offline haytjes - 01/08/2005 21:53 (laatste wijziging 01/08/2005 21:56)
Avatar van haytjes Gouden medailleGouden medaille

JS gevorderde
  1. <?php
  2. $qnl = mysql_query("SELECT nick FROM leden WHERE ORDER BY datum DESC limit 5");
  3.  
  4. while ($anl = mysql_fetch_assoc($qnl)) {
  5. $tpl->newBlock( "name_row" );
  6. $tpl->assign( "name", $anl['nick']; );
  7. }
  8. ?>

  1. <table>
  2. <tr><td>Names</td></tr>
  3. <!-- START BLOCK : name_row -->
  4. <tr>
  5. <td>{name}</td>
  6. </tr>
  7. <!-- END BLOCK : name_row -->
  8. </table>

ps:ik gebruik mijn eigen gemaakte, stukken gemakkelijker
Offline smoos - 01/08/2005 21:59
Avatar van smoos PHP gevorderde oke bedankt 

jah maar ik weet er nog te weinig vanaf om er zelf 1 te schrijven. ik was vandaag begonnen met wat dingen proberen enzo om te kijken hoe het werkt 
Offline haytjes - 01/08/2005 22:05
Avatar van haytjes Gouden medailleGouden medaille

JS gevorderde
nee, ik heb gewoon nagedacht en ik ben tot de conclusie gekomen dat je met blocken alleen alles kan:

nu werkt het met [block|naam] en [/block|naam]

en dan voor variables [var|naam]

en tot nu toe werkt alles op die manier.
Offline smoos - 01/08/2005 23:59 (laatste wijziging 02/08/2005 00:01)
Avatar van smoos PHP gevorderde ik heb nu in index.php
  1. <?php
  2. //--
  3. $index = new TemplatePower("templates/".$css."/index.tpl");
  4. $index->prepare();
  5.  
  6. $a = array("Home", "login", "more");
  7. $b = 0;
  8. while($b <= 3){
  9. $index->newBlock("menu_row");
  10. $index->assign("LINKS", $a[$b]);
  11. $b++;
  12. }
  13.  
  14. $maintext = "Joehoe dit is een test";
  15.  
  16. $index->assign("MAIN_TEXT", $maintext);
  17. $index->printToScreen();
  18. //--
  19. ?>

en in de despbetrefende index.tpl staat dit:
  1. <table>
  2. <tr>
  3. <td>
  4. <table>
  5. <!-- START BLOCK : menu_row -->
  6. <tr>
  7. <td>{LINKS}</td>
  8. </tr>
  9. <!-- END BLOCK : menu_row -->
  10. </table>
  11. </td>
  12. <td>
  13. {MAIN_TEXT}
  14. </td>
  15. </tr>
  16. </table>

nu word de "MAIN_TEXT" niet weergegeven... -_-'
maar als ik die main text boven deze regel --> <!-- END BLOCK : menu_row -->
zet dan doet hij het wel. ik neem aan dat ik dus een nieuw blok moet openen voor die main text. is er geen andere manier?

en doe ik het nu goed of vern**k ik het nu al XD
Offline DRUNK - 02/08/2005 00:59 (laatste wijziging 02/08/2005 01:17)
Avatar van DRUNK PHP gevorderde Als je stug wilt blijven vasthouden aan TemplatePower (het is echt geen slechte template parser hoor) kijk dan eens naar de gotoBlock() methode/functie. Zo kun je elke iteratie van je loop weer terug keren naar het block waar je vandaan kwam.

Zelf heb ik ook een tijdje TemplatePower gebruikt, deze is inmiddels vervangen door Smarty (http://smarty.php.net/) deze is wel totaal anders maar als je het eenmaal snapt is het wel erg eenvoudig en vooral erg snel.

Als je dus nog niet echt bekend bent met TP raad ik je aan om eens te kijken naar Smarty, misschien vind je het ook wel handig. Deze parser kent if/elseif/else, loop-constructies, array's en heel veel handige (plugin) functies. Deze constructies lijken erg verwarrend in het begin maar later (als je er een paar keer mee gekloot hebt) merk je dat het erg simpel gaat worden. Ook bied Smarty cache/compile mogelijkheden waardoor de snelheid eigenlijk altijd optimaal is.
Offline smoos - 02/08/2005 01:12
Avatar van smoos PHP gevorderde oke ik zal cker ff een kijkje nemen 

nog meer sugesties?
Offline Thomas - 02/08/2005 01:33 (laatste wijziging 02/08/2005 01:33)
Avatar van Thomas Moderator Zie de templatepower-tutorial op Sitemasters, als je uit een block wilt "terugkeren" (na die while dus) moet je $index->gotoBlock("_ROOT") gebruiken...
Offline smoos - 02/08/2005 12:08
Avatar van smoos PHP gevorderde @ DRUNK
smarty's eerste indruk op mij is nogal rommelig omdat het zoveel files zijn en bij TP maar 1.
maar ik zal het proberen.

@ FangorN
jah idd ik zag 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.256s