MyXoops Forum

Aw: dynamisches Menü [sonstige Module] - myXOOPS German Support

Bleekk

Co-Administrator
Gepostet am:17.03.2011 12:51
Bleekk
Bleekk Offline (Show more)
Co-Administrator
Posts: 1506
Since: 16.12.2002
#4

Aw: dynamisches Menü

wenn du ein menü mit JS und xoops erstellst wird es schwierig. Sobald der oberlink verlinkt ist und man darauf klickt wird die seite neu geladen und damit auch das JS. also wenn der oberlink verlinkt ist solltest du cookies verwenden um den angeklickten link zu speichern. ich habe das in einem theme gemacht. ich muss mal schauen vielleicht hilft dir der code dann. ausserdem solltest du folgendes konstrukt bei menüs verwenden
<ul>
 <
li><a href="">Oberlink1</a></li>
 <
li><a href="">Oberlink2</a>
  <
ul>
    <
li><a href="">unterlink1</a></li>
    <
li><a href="">unterlink2</a></li>
  </
ul>
 </
li>
 <
li><a href="">Oberlink3</a></li>
</
ul>
so kannst du es leichter steuern was angezeigt werden soll

Goffy

Co-Administrator
Gepostet am:17.03.2011 12:51
Goffy
Goffy Offline (Show more)
Co-Administrator
Posts: 775
Since: 14.10.2004
#3

Aw: dynamisches Menü

Danke Bleek für die rasche Antwort

Werde ich mal testen
EDV = Epoche der Verzweiflung

Advertisement

Gepostet am:0
Advertisement (Show more)
Posts: 0
Since: 0


Hier könnten Sie Ihre Anzeige aufgeben!
Bitte kontaktieren Sie uns, um mehr darüber zu erfahren.

Bleekk

Co-Administrator
Gepostet am:17.03.2011 12:40
Bleekk
Bleekk Offline (Show more)
Co-Administrator
Posts: 1506
Since: 16.12.2002
#2

Aw: dynamisches Menü

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)? 10;
    
$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)? 10;
    
$selected = ($menu['linkurl'] == $self) ? 1$selected;
    
$selected = ($menu['linkurl'] == $default) ? 1$selected;
    
    if(
$block['contents'][$i]['submenu'] == && $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

Goffy

Co-Administrator
Gepostet am:17.03.2011 12:09
Goffy
Goffy Offline (Show more)
Co-Administrator
Posts: 775
Since: 14.10.2004
#1

dynamisches Menü

Hallo Leute

Hab mal wieder ein Problem und hoffe, jemand kann mir helfen.

Ich lasse einen Menüblock per php dynamisch erstellen.
Dieses Menü sieht dann etwa so aus:
Hauptmenüpunkt 1
Hauptmenüpunkt 2
Untermenüpunkt zu 2
Untermenüpunkt zu 2
Untermenüpunkt zu 2
Hauptmenüpunkt 3
Untermenüpunkt zu 3
Untermenüpunkt zu 3
Hauptmenüpunkt 4
Untermenüpunkt zu 4
Untermenüpunkt zu 4
Hauptmenüpunkt 5


Wenn ich nun z.B. auf Hauptmenüpunkt 3 klicke, sollen alle anderen Untermenüpunkte verschwinden.
Wenn ich nun dann auf Hauptmenüpunkt 2 klicke, sollen Untermenüpunkte zu 3 verschwinden und die Untermenüpunkte zu 2 angezeigt werden.


Mein Versuch sieht nun so aus:
Script
function showmenuitems(item)
    {
       
document.getElementById("submenu1").style.display "none";
       
document.getElementById("submenu2").style.display "none";
       
document.getElementById("submenu3").style.display "none";
       
document.getElementById("submenu4").style.display "none";
      
       
document.getElementById(item).style.display 'block';
    }


Das Menü sieht so aus:
<a id="menu1" onclick="showmenuitems('submenu1')" href="#">Hauptmenüpunkt 1</a><br/>
  <
a id="menu2" onclick="showmenuitems('submenu2')" href="#">Hauptmenüpunkt 2</a><br/>
  <
a id="submenu2" href="#">- Untermenüpunkt zu 2</a><br/>
  <
a id="submenu2" href="#">- Untermenüpunkt zu 2</a><br/>
  <
a id="submenu2" href="#">- Untermenüpunkt zu 2</a><br/>
  <
a id="menu3" onclick="showmenuitems('submenu3')" href="#">Hauptmenüpunkt 3</a><br/>
  <
a id="submenu3" href="#">- Untermenüpunkt zu 3</a><br/>
  <
a id="submenu3" href="#">- Untermenüpunkt zu 3</a><br/>
  <
a id="menu4" onclick="showmenuitems('submenu4')" href="#">Hauptmenüpunkt 4</a><br/>
  <
a id="submenu4" href="#">- Untermenüpunkt zu 4</a><br/>
  <
a id="submenu4" href="#">- Untermenüpunkt zu 4</a><br/>
  <
a id="menu5" onclick="showmenuitems('submenu5')" href="#">Hauptmenüpunkt 5</a><br/>


Das Ganze funktioniert aber nicht (keine Ahnung, warum???)

Gibt es für diese Problemstellung eine "Xoops"-konforme Lösung?

mfg
Goffy
EDV = Epoche der Verzweiflung
Diesen Thread durchsuchen:  1 Anonyme Benutzer

Aktuell aus dem Forum

Forum Thema Antworten Views Letzter Beitrag
Modulentwicklung New Xoops Xcreate Module 0 5307 26.11.2025 15:22
efkan Gehe zum letzten Beitrag
Modulentwicklung XOOPS Custom Field Module 1 1799 24.11.2025 11:21
Goffy Gehe zum letzten Beitrag