Foutje met template parser, menu wil niet parsen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Robin C

Robin C

24/07/2010 12:13:38
Quote Anchor link
Hi,
Ik ben momenteel bezig met een cms dat gebruik maakt van een template parser.
Normaal kom ik eruit, dan moet ik dit doen voor het menu
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php

$sql
= mysql_query("SELECT * FROM menu Order by id");
while($show = mysql_fetch_object($sql)) {

$menunaam = htmlspecialchars($show->naam);
$menulink = htmlspecialchars($show->link);

echo "<li><a href='".$menulink."'>".$menunaam."</a></li>";
}

?>


Maar nu moet ik het menu zo parsen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
$sql
= mysql_query("SELECT * FROM menu Order by id");
while($show = mysql_fetch_object($sql)) {

$menunaam = htmlspecialchars($show->naam);
$menulink = htmlspecialchars($show->link);

$parse->assign("menu", "<li><a href='".$menulink."'>".$menunaam."</a></li>"); //naam van blok zonder [ of ] + inhoud
}
?>

Het probleem hierbij is dat die alleen het laatste menu item weergeeft ipv ze allemaal.
Weten jullie hier een oplossing voor?

Alvast bedankt,
Robin
 
PHP hulp

PHP hulp

13/01/2025 03:06:25
 
Joren de Wit

Joren de Wit

24/07/2010 12:28:24
Quote Anchor link
Je overschrijft telkens de template variabele 'menu' die je op regel 8 van het tweede stukje toekent.

Wat je zou kunnen doen is eerst alle items in een array zetten, vervolgens deze array toekennen aan de template en binnen de template deze array gebruiken om de items weer te geven.
 
Robin C

Robin C

24/07/2010 12:59:49
Quote Anchor link
Hoi,
Zou jij me voor willen doen hoe dit moet, ik kom er echt niet uit.

Alvast bedankt.
Robin
 
Joren de Wit

Joren de Wit

24/07/2010 13:09:35
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$menu
= array();

while($row = mysql_fetch_assoc($sql)) {
  $menu[] = array('naam' => $row['naam'], 'link' => $row['link']);
}


$parse->assign('menu_array', $menu);
?>

En dan in je template de variabele 'menu_array' uitlezen. Het hangt af van de template parser die je gebruikt, hoe je dat kunt doen. Maar je zult op een of andere manier met een loop die array moeten uitlezen en alle items weer moeten geven.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.