login  Naam:   Wachtwoord: 
Registreer je!
 Forum

assignInclude(); en blocks

Offline robmoorman - 22/02/2005 14:02
Avatar van robmoormanPHP interesse ik heb dus het ovlgende probleem,

ik werk met een templatesysteem en heb gekozen voor TemplatePower, het werkt allemaal prima totdat ik ga werken met blokken die uit een database worden gehaald.
ik heb dus blokken die ik moet includen, dit moet dus moet assignInclude();
allleen heb ik dus ook een bloktitel die aangegeven wrodt met assign();, en de while-loop zorgt ervoor dus dat dat in één keere moet, maar de assignInclude(); moet dus voor de prepare-functie en du is juist noodzakelijk voor het assign();.... 

hier mijn code (een klein deel dan:p):
  1. <?php
  2.  
  3. require('config.php');
  4. require_once('class.g0dlike.inc.php');
  5. require_once('class.TemplatePower.inc.php');
  6.  
  7. $db = new g0dlike;
  8.  
  9. $db->makeConnection(MYSQL_HOST, MYSQL_USERNAME, MYSQL_PASS, MYSQL_DB);
  10.  
  11. $tpl = new TemplatePower('templates/'.USER_TEMPLATE.'/body.tpl');
  12.  
  13. $tpl->prepare();
  14.  
  15. $query = $db->query('SELECT name, dir, file FROM blocks WHERE active=1 AND position="right"');
  16.  
  17. if ($db->numRows($query) >= 1)
  18. {
  19. while($sql = $db->dump($query))
  20. {
  21. if (file_exists('blocks/'.$sql['dir'].'/'.$sql['file']))
  22. {
  23. $tpl->newBlock('RIGHT_BLOCKS');
  24.  
  25. $tpl->assignInclude('CONTENT', 'blocks/'.$sql['dir'].'/'.$sql['file']);
  26.  
  27. $tpl->assign('BLOCK_TITLE', $sql['name']);
  28.  
  29. $tpl->gotoBlock("_ROOT");
  30. }
  31. }
  32. }
  33.  
  34. $db->close();
  35.  
  36. $tpl->printToScreen();
  37.  
  38. ?>


en hier mijn .tpl code:
  1. <html>
  2.  
  3. <head>
  4.  
  5. <meta name="description" content="{SITE_DESCRIPTION}">
  6. <meta name="keywords" content="{SITE_KEYWORDS}">
  7. <meta name="copyright" content="{SITE_COPYRIGHT}">
  8. <meta name="author" content="{SITE_AUTHOR}">
  9. <meta name="publisher" content="{SITE_PUBLISHER}">
  10. <meta name="generator" content="{SITE_GENERATOR}">
  11.  
  12. <link href="templates/{SITE_TEMPLATE}/style.css" rel="stylesheet" type="text/css">
  13. <title>{SITE_TITLE}</title>
  14. </head>
  15.  
  16. <body>
  17.  
  18. <div align="center">
  19. <table border="0" cellpadding="0" cellspacing="0" width="780">
  20. <tr>
  21. <td width="100%" colspan="5"><img src="templates/{SITE_TEMPLATE}/images/header.png" border="0" alt="{SITE_TITLE}"></td>
  22. </tr>
  23. <tr>
  24. <td width="100%" colspan="5">&nbsp;</td>
  25. </tr>
  26. <tr>
  27. <td width="20%">
  28. <!-- START BLOCK : LEFT_BLOCKS -->
  29. <table border="0" width="100%" cellspacing="0" cellpadding="2" style="border: 1 solid #333333">
  30. <tr>
  31. <td width="100%" class="BACKGROUND" style="border-bottom: 1 solid #333333"><b>{BLOCK_TITLE}</b></td>
  32. </tr>
  33. <tr>
  34. <td width="100%" bgcolor="#FFFFFF">
  35. <!-- INCLUDESCRIPT BLOCK : CONTENT -->
  36. </td>
  37. </tr>
  38. </table><br>
  39. <!-- END BLOCK : LEFT_BLOCKS -->
  40. </td>
  41. <td width="5%">&nbsp;</td>
  42. <td width="50%">
  43. <!-- INCLUDESCRIPT BLOCK : MODULE -->
  44. </td>
  45. <td width="5%">&nbsp;</td>
  46. <td width="20%">
  47. <!-- START BLOCK : RIGHT_BLOCKS -->
  48. <table border="0" width="100%" cellspacing="0" cellpadding="2" style="border: 1 solid #333333">
  49. <tr>
  50. <td width="100%" class="BACKGROUND" style="border-bottom: 1 solid #333333"><b>{BLOCK_TITLE}</b></td>
  51. </tr>
  52. <tr>
  53. <td width="100%" bgcolor="#FFFFFF">
  54. <!-- INCLUDESCRIPT BLOCK : CONTENT -->
  55. </td>
  56. </tr>
  57. </table><br>
  58. <!-- END BLOCK : RIGHT_BLOCKS -->
  59. </td>
  60. </tr>
  61. <tr>
  62. <td width="100%" colspan="5" align="center">{SITE_FOOTER}<br>Geladen: {LOADTIME} seconds.<br>Aantal uitgevoerde querys: {QUERYS}</td>
  63. </tr>
  64. </table><br>
  65.  
  66. </body>
  67.  
  68. </html>


iemand hier een oplossing voor of suggestie ?

9 antwoorden

Gesponsorde links
Offline numlockrond - 30/11/1999 00:00
Avatar van numlockrond Onbekend ik snap er niks van.rn[quote]ik heb dus dit en dan heb ik dus dat en dan moet er dus dat maar daarvoor is dit dus noodzakelijk[quote]rnheel vaag verhaal.
Offline robmoorman - 30/11/1999 00:00
Avatar van robmoorman PHP interesse hij include mijn blocks niet, omdat de prepare(); al eerder is gezet, maar dat is noodzakelijk voor mijn assign();
Offline Wijnand - 30/11/1999 00:00
Avatar van Wijnand Moderator 1. !-- INCLUDESCRIPT BLOCK CONTENT -- kan niet. Dat is 2x dezelfde naam.. dan raakt hij iets gefrustreerd.rn2. Om een blok te maken hoef je geen INCLUDESCRIPT te gebruiken. Je kan ook kiezen voor een normale block en die dan in een lus gooien.rn3. 1 includeblok kun je maar 1 keer gebruiken. Vandaar dat je hem boven de prepare() moet zetten.rnrnlees de website van hun maar is goed vriend.
Offline robmoorman - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van robmoorman PHP interesse hmm ok, maar dat heb ik dus nu,rnmijn blokken bevatten code en alles komt in de var [b]$content[b]rnrn[code]phprnwhile($sql = $db-dump($query))rn{rnif (file_exists('blocks'.$sql['dir'].''.$sql['file']))rn{rn $tpl-newBlock('LEFT_BLOCKS');rn rn $content = '';rn rn include ('blocks'.$sql['dir'].''.$sql['file']);rn rn $tpl-assign('BLOCK_TITLE', $sql['name']);rn $tpl-assign('BLOCK_CONTENT', $content);rn rn unset ($content);rn rn $tpl-gotoBlock(_ROOT);rn}rn}rn[code] rnrnmaar nu heb dus dat miij blokken gaan flippen, zie maarrnhttp213.239.140.31~robrnrnwat dus eigenlijk 2 links moeten zijn en één rechts.....
Offline robmoorman - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van robmoorman PHP interesse mijn probleem zit dus met die while-loop, want ik heb dus een los scriptje gemaakt met een gewone include zoals hierboven(post) vermeld en dat werkt wel, wat is er loos, is e rniemand die hier iets vanaf weet of
Offline marten - 18/04/2006 14:13
Avatar van marten Beheerder misschien kan het onderste voorbeeld je helpen.
Zit zelf met een soortgelijk probleem.

http://template...hp?lang=en
Offline Thomas - 18/04/2006 15:05
Avatar van Thomas Moderator Ik zie niet echt het probleem?
Je definieert eerst welke templates je allemaal hebt, en daarna ga je deze vullen en als laatste stap druk je het geheel af (of stuur het naar een variabele of whatever).

Als je je naamgeving op orde hebt (allemaal unieke BLOCK namen), zou dit allemaal goed moeten gaan. Ik weet niet of jouw constructie mogelijk is (meerdere CONTENTs op die manier). Waarom maak je hier niet gewoon BLOCKs van, of INCLUDEd BLOCKs? Heb je daar altijd een variabel aantal templates in staan? Misschien moet je dan de opzet van je blocks/templates veranderen zodat dit wel mogelijk is... misschien door met meerdere template-objecten te werken (elke keer een nieuw template-object maken als je LEFT_BLOCK of RIGHT_BLOCK begint?).

Als de huidige opzet niet werkt zul je iig iets moeten veranderen .
Offline vinTage - 18/04/2006 16:40
Avatar van vinTage Nieuw lid ik hoop voor hem dat het ondertussen al werkt, we zijn ondertussen bijna 15 maanden verder 
Offline marten - 18/04/2006 16:43
Avatar van marten Beheerder ja srry maar liep met hetzelfde probleem en heb het dmv dat voorbeeld op kunnen lossen ;)
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.2s