Ik heb een probleempje waar ik niet uit kom, ligt ongetwijfeld aan mij.
Wat is het geval: Ik heb een menu met hoofdcategeorie-en en subcategorie-en wat ik wil weergeven. Een genest menu dus.
Ik heb met php gegevens uit een database opgevraagd en dat gaf als resultaat:
Zo te zien gebruikt niemand Smarty, dus dan hoef ik de oplossing die ik ondertussen gevonden heb hier ook niet meer te zetten.
Hartelijk dank weer.
Voor de modjes: sluit deze topic maar svp.
Ten eerste, er zijn er zeker wel die smarty gebruiken (o.a. ik).
Ten tweede kan het altijd handig zijn om dergelijke oplossingen te vermelden.
Ten derde zou ik de structuur van je array's anders gedaan hebben, zodat je WEL makkelijk met Smarty dit kon weergeven. Jij gaf namelijk 2 losse lijstjes die verder niets met elkaar te maken hebben (jij denkt van wel, maar smarty weet dat niet). Indien je alles in 1 lijstje als bv zo iets zou gedaan hebben, waren je problemen meteen opgelost:
@Karl: Ik ben te oud om kleuter te zijn, ik denk dat ik zelfs oud genoeg ben om je vader te kunnen zijn..
Hou dergelijke opmerkingen svp maar voor je, het voegt niets toe aan dit forum.
@Hipska
1. no comment
2. zie hieronder
3. de structuur zoals ik liet zien is misschien niet geheel volgens de regels, maar die van jou gaat imho ook niet overeenkomen met hetgeen ik wil bereiken.
De oplossing hieronder werkt precies zoals ik het wil, daarmee wil ik niet zeggen dat het de enigste juiste oplossing is.
Ik sta open voor opbouwende kritiek.
Mijn oplossing:
PHP-stukje
/* Glossy Categorie-Menu inlezen */
/**********************************************************/
$sql = "SELECT * FROM cat_main WHERE publish='1' ORDER BY maincat_desc ASC";
if (!($result = $db->sql_query($sql)))
{
die('Could not obtain catmain-menu information');
}
while ($regel = $db->sql_fetchrow($result)) {
$hoofd[]= $regel;
$sql2="SELECT * FROM cat_sub WHERE main_id='".$regel['main_id']."' AND publish='1' ORDER BY subcat_desc";
if (!($result2 = $db->sql_query($sql2)))
{
die('Could not obtain catsub-menu information');
}
while ($regel2 = $db->sql_fetchrow($result2)) {
$sub[]=$regel2;
}
}
$smarty->assign(array('hoofdcats' => $hoofd,'subcats' => $sub));
Dat stukje template lijkt mij niet echt perfomant.
Voor elk hoofdmenu dat er bestaat ga jij telkens het lijstje met alle mogelijke submenu's overlopen. Dat lijkt me nogal veel vertraging en nutteloos serverload te genereren.