Hallo,
ich habe mir ein Menü mit prototype und scriptaculous gebastelt. Es funktioniert recht gut, allerdings gibt es noch ein kleines Probelm.
Wenn keine Unterkategorie für eine Topkategorie vorhanden, soll kein <div>-Element (für die Subkategorie) erstellt werden und die Topkategorie verlinkt gleich auf einen Controller. Vielleicht hilft Folgendes zum besseren Verständnis:
Topcategory mit Subcategories:
Topitem
<div id="subitems">
Subitem 1 (-> link to /controller/action/subitem1_id)
Subitem 2 (-> link to /controller/action/subitem2_id)
Subitem 3 (-> link to /controller/action/subitem3_id)
</div>
Topcategory ohne subcategories:
Topitem (-> link to /controller/action/topitem1_id)
Ich hoffe, dass es halbwegs verständlich ist und hier ist der Code dazu:
<!-- get top categories -->
<?php $categories = $this->requestAction('/categories/getTopCategories'); ?>
<!-- generate menu -->
<ul id="mainmenu">
<?php foreach ($categories as $category): ?>
<li id="topitems">
<?php
$options = array(
'url' => array(
'controller' => 'categories',
'action' => 'getSubCategoriesById',
$category['Category']['id']
),
'update' => 'submenu_' . $category['Category']['id'],
'complete' => 'showSubMenu(' . $category['Category']['id'] . ')'
);
echo $ajax->link($category['Category']['name'],
'/categories/getSubCategoriesById/' . $category['Category']['id'],
$options);
echo $ajax->div('submenu_' . $category['Category']['id'], array('style' => 'display:none', 'class' => 'submenu'));
if ($subcategories) {
foreach($subcategories as $subcategory) {
echo $subcategory['Category']['name'] . '<br />';
}
}
echo $ajax->divEnd('submenu_' . $category['Category']['id']);
?>
</li>
<?php endforeach; ?>
</ul>
Wie kann man dieses Problem lösen?
Cheers
Arndtinho

