Betreff: Aw: dynamisches Menü von Bleekk am 17.03.2011 12:40:20
das selbe problem hatte ich auch mit dem multimenu modul. wenn ein sublink angeklickt war wurde es nicht angezeigt da der oberlink nicht als "aktiv" markiert wurde.
ich habe danach den hack von trabis (xuups) angewendet doch leider hat es das problem nicht gelöst. wenn ein sublink aufgerufen wird, dann wird nur der als aktiv gesetzt und nicht der oberlink.
ich habe einen eigenen hack dann geschrieben um das zu erreichen. es ist also ein hack von trabis hack
also zuerst multimenu installieren. danach hack von trabis. das findest du auf der xuups.com seite. danach werden die aktiven links als "selected" gesetzt.
um jetzt die oberlinks als "selected" zu setzen, wenn ein unterlink aktiv ist muss du folgendes ändern
modules/multimenu/blocks/block.php
suche
/get all the links that could fit into this pageplus the default link
$i = 0;
foreach ($block['contents'] as $menu){
$link = $menu['linkurl'];
$selected = eregi($menu['linkurl'], $self)? 1: 0;
$selected = ($menu['linkurl'] == $self) ? 1: $selected;
$selected = ($menu['linkurl'] == $default) ? 1: $selected;
...
...
ersetzte diese foreach schleife duch folgenden code
$i = 0;
foreach ($block['contents'] as $menu){
$link = $menu['linkurl'];
$selected = eregi($menu['linkurl'], $self)? 1: 0;
$selected = ($menu['linkurl'] == $self) ? 1: $selected;
$selected = ($menu['linkurl'] == $default) ? 1: $selected;
if($block['contents'][$i]['submenu'] == 1 && $selected == 1){
$sql = "SELECT id, pid, groups, link, submenu, title, target, imageurl, weight
FROM ".$xoopsDB->prefix('multimenu').$options[15]."
WHERE id=".$block['contents'][$i]['pid'];
$result = $xoopsDB->queryF($sql);
$myrow = $xoopsDB->fetchArray($result);
for($g=0; $g<sizeof($block['contents']); $g++){
if($block['contents'][$g]['id'] == $block['contents'][$i]['pid']){
$block['contents'][$g]['selected'] = $selected;
}
}
$block['contents'][$i]['selected'] = $selected;
}
else
{
$block['contents'][$i]['selected'] = $selected; /*i+1*/
}
$i++;
}
danach sollten die oberlinks auf "selected" gestellt werden wenn ein unterlink angeklickt ist.
wenn man sich ein bisschen mit html/css/js auskennt kann man eigene menutemplates für das multimenu erstellen.
ich hoffe dass dir das irgendwie geholfen hat
|