Toon posts:

[PHP] FastTemplate Probleem..

Pagina: 1
Acties:
  • 47 views sinds 30-01-2008

Verwijderd

Topicstarter
Hallo,

Ik heb een probleempje..

Ik ben bezig met een soort linklijst samen te stellen via een template..
bvb uit de linktoevoeging van vandaag worden uit de database 40 of 60 links gehaald en die worden dan op de pagina in een table weergegeven.

Ik wil dit doen via een template zodat ik makkelijk de layout van 1 regel kan aanpassen alsook waar de regels zich moeten bevinden zonder dat ik dan in de php code hoef te prutsen en het zou verknoeien.

Heb een beetje gezocht naar template parsers enzo en dan fasttemplate gevonden, maar kan er niet echt goed mee overweg en heb dus wat hulp nodig :/

de twee templates:
lijn.tpl = hoe de regel van elke link er moet uitzien:
code:
1
2
3
4
5
<!-- // START: lijn.tpl // -->
<a class="daily" href="{url}">{description}</a><br>


<!-- // END: lijn.tpl // -->


een stuk uit template.tpl :
code:
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
<TABLE cellSpacing=0 cellPadding=6 width="100%">
  <TBODY>
     <tr>
     <td width=25% align=left valign=top bgcolor=#D4E9FE>
         {list1_1}
         {list1_2}
         {list1_3}
         {list1_4}
         {list1_5}
    </td>
    <td width=25% align=left valign=top>
         {list1_6}
         {list1_7}
         {list1_8}
         {list1_9}
         {list1_10}
    </td>
    <td width=25% align=left valign=top>
         {list1_11}
         {list1_12}
         {list1_13}
         {list1_14}
         {list1_15}
    </td>
    <td width=25% align=left valign=top>
   </tr>
  </tbody>
</table>



die regel uit de eerste template met {url} en {description} erin, moet uiteraard in die {list1_1} tot {list1_15} komen..
en ja, ik wil list1_15 omdat het makkelijker is om te zien hoeveel links er komen..
stel dat als ik er 20 wil, dan kan ik list1_1 tot 10 doen en dan list1_11 tot 20 in een andere kolom..
er gaat ook een waarde opgeslaan worden in de mysql database (vb 20) en dan mag je maar tot list1_20 .. list2_20 gaan enzo..
list2 zou dan voor een andere dag zijn zodat je bvb 5 dagen kunt zien van de geadde links.. list1_xx voor vandaag.. list2_xx voor gisteren, list3 voor eergisteren enzoverder.

Nu, ik was begonnen aan een template.php om dit dan in te vullen, maar het lukt me niet.. ik geraak er niet echt wijs uit :o


Ik heb tot nu:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?
   include("database.php");
   include("class.FastTemplate.php3");

   $result = "SELECT url, description FROM artikelen WHERE iets > '1' limit by 15";
   $teller=1;
   while ($row = mysql_fetch_object ($result)) {
      $url.{$teller} = $row->url;
      $desc.{teller} = $row->description;
      $teller++;
   }
      
   
   
   $bestanden["pagina"] = "template.tpl";
   $bestanden["regel"] = "lijn.tpl";

   
   $myTemplate = new FastTemplate(".");
   $myTemplate->define($bestanden);


maar verder hoe ik precies ervoor zorg dat die regel opgevuld wordt met de waarden uit de database en hoe die lijstjes dan in {list1_1} tot {list1_15} komen begrijp ik niet :(

Iemand die mij hiermee kan helpen zodat het werkt ? of een voorbeeldje toont die iets gelijkaardigs doet ? want ik zit echt volledig vast :x

alvast bedankt,
slashem

Verwijderd

Zat er bij "FastTemplate" geen manual? :? RTFM! (8>

Verwijderd

Topicstarter
had ik dus wel al naar gekeken..
heb nog een paar veranderingen gedaan aan het template
code:
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
<TABLE cellSpacing=0 cellPadding=6 width="100%">
<TBODY>
<!-- BEGIN DYNAMIC BLOCK: tabel -->
<tr>
<td width=25% align=left valign=top bgcolor=#D4E9FE>
{list1}
{list1_1}
{list1_2}
{list1_3}
{list1_4}
{list1_5}
</td>
<td width=25% align=left valign=top>
{list1_6}
{list1_7}
{list1_8}
{list1_9}
{list1_10}
</td>
<td width=25% align=left valign=top>
{list1_11}
{list1_12}
{list1_13}
{list1_14}
{list1_15}
</td>
<td width=25% align=left valign=top>
</tr>
<!-- END DYNAMIC BLOCK: tabel -->
</table>


het andere template is nog steeds:
code:
1
2
3
4
5
<!-- // START: lijn.tpl // -->
<a class="daily" href="{url}">{description}</a><br>


<!-- // END: lijn.tpl // -->


en template momenteel is:
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
<?
   include("database.php");
   include("class.FastTemplate.php3");

   $tpl = new FastTemplate(".");

   $tpl->define( array(    main    => "template.tpl",
                           lijn  => "lijn.tpl" ));

   $tpl->define_dynamic( "tabel" , "main");




   for ($n=1; $n <= 15; $n++)
   {
    $Number = $n;
    $BigNum = $n*10;

    $tpl->assign(
        array(
            url     =>  $Number,
            description =>  $BigNum
        )
    );
    $tpl->parse(list1_{$n},"tabel");
   }

$tpl->parse(MAIN, array("tabel","main"));
    $tpl->FastPrint();
    exit;
?>


Het doet nog niet hetgeen het moet doen, maar ik zou eerst proberen van die lijn es op te vullen met <a href=number>bignumber</a> om te testen
nuja, het werkt toch nog niet :( en vind de fout niet echt
die list1_{$n} heeft hij in ieder geval niet graag ;(
een helpende hand die niet RTFM roept zou nu wel es welkom zijn :)

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

* dusty geeft een hand.


-oops- een fophand..
Lees een manual, ga dan daarna eens de manual lezen van PHP.net betreffende variabele variabelen.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Dit topic is gesloten.