Hi,
ich benutze ein JavaScript TMenue. Jetzt soll der
Link der obersten Hierachie kein Link, sofern Unterpunkte da sind,
sein sonder nur aufklappen.
Kann mir jamnd verraten wie das geht.
Gruß Torsten
Hi,
ich benutze ein JavaScript TMenue. Jetzt soll der
Link der obersten Hierachie kein Link, sofern Unterpunkte da sind,
sein sonder nur aufklappen.
Kann mir jamnd verraten wie das geht.
Gruß Torsten
mit IFSUB kann man sowas machen nur was schreibe ich
dahinter wenn ich nur den aufklappeffekt will
also Vergleichbar mit <a href="#"></a>
Torsten72 schriebmit IFSUB kann man sowas machen nur was schreibe ich
dahinter wenn ich nur den aufklappeffekt will
also Vergleichbar mit <a href="#"></a>
Würde mich auch brennend interessieren!!
hallo.
habe sowas auch schon mal ausführlich ausprobiert und veruscht dazu was zu finden, bin aber zu dem ergebnis gekommen, das es leider nicht möglich ist.
Yup, das habe ich auchs chon befürchtet!!
doch eine Lösung geben !!
Kann ch mir nicht vorstellen
du kannst mit IFSUB angeben, dass Items die einen Unterpunkt haben, nicht verlinkt werden.
Sobald Du das allerdings machst, passiert beim Hover über das Item allerdings auch nichts mehr, sprich: Das Menü expandiert ab diesem Punkt nicht mehr.
kann man vielleicht einen bestimmten Link setzten bzw einen anderen
als vorgsehen.
Gruß Torsten
Und wenn man mit IFSUB => doNotLinkIt macht und den Wrap auf <a href="schiessmichtod">|</a> setzt ? Wrap oder linkWrap müsste doch auch bei doNotLinkIt funktionieren...
Steffen
Hi Leute, mir gingen diese verflixten Links bei den "Verteilerseiten" auch auf den S*** ... ich habe jetzt mal schnell (wie es ja immer sein muss) die tmenu_layers.php (unter media/scripts) etwas angepasst ...gmenu_layers sollte ebenso anzupassen sein !!!
-> tmenu_layers, ca. Zeile 125 (if ($this->WMisSub) { ...)
Folgenden Code einfügen:
// Fix für Verteilerseiten
// Im Setup werden die PIDs der Seiten angegeben,
// die als reine Verteilerseiten dienen ...
$noLinkItems = $this->mconf["doNotLinkIt"];
$noLinkItems = explode(",", $noLinkItems);
foreach ($noLinkItems as $var) {
if ($this->I["uid"] == $var) $this->I["linkHREF"]["HREF"] = '#';
}
... und im SETUP für das TMENU_LAYERS -Menü:
doNotLinkIt = [Liste der PIDs, die als Verteilerseiten dienen / Komma als Trenner]
hola,
gmenu_layers sollte ebenso anzupassen sein
Wenn ja, wie? Hab gerade mal versuchsweise Dein Codeschnipsel eingesetzt. Haut nicht hin.
bin in gmenu_layer auf Zeile 177 gelandet und habs dort versucht. 🙁
Schade, denn schön wärs schon...
Gruß
BB
Wer lesen kann, ist klar im Vorteil 😉 - allerdings habe ich ja auch nicht mit dicken Lettern auf die Stelle explizit aufmerksam gemacht ...
In gmenu_layers zur Zeile 123 springen, dort muss folgendes zu finden sein:
123: if ($this->WMisSub) {
124: $event="GL_stopMove('".$this->WMid."');";
Die IF-Schleife gehört zur Funktion extProc_beforeLinking($key), Zeile 86 ...
Damit hättest du auch die Stelle gefunden wo mein Code rein muss, einfach zwischen die angegebenen Zeilen, fettich (*hoffe ich*) !!!
Ich habe mir die gmenu_layers gerade vom Server geladen (V3.5) und in Dreamweaver MX geöffnet, nur als Randinfo für die Zeilenangabe!
Grüße!
Wer lesen kann, ist klar im Vorteil
sicher... 😉
In gmenu_layers zur Zeile 123 springen
und
gmenu_layers gerade vom Server geladen (V3.5)
Nun, ich hab hier V3.6.0RC1. Hmm, scheint so als wären da noch ein paar Zeilen dazugekommen. 😉
Ich wundere mich deshalb auch nicht wirklich, warum es bei mir nicht funktioniert.
Kleiner Auszug aus der Datei?
nur function extProc_beforeLinking($key)
if ($this->I['uid']) {
array_push($GLOBALS['TSFE']->applicationData['GMENU_LAYERS']['WMparentId'],$this->WMid);
$this->WMtheSubMenu = $this->subMenu($this->I['uid'],$this->I['mount_pid']);
array_pop($GLOBALS['TSFE']->applicationData['GMENU_LAYERS']['WMparentId']);
$this->WMisSub = trim($this->WMtheSubMenu) ? 1 : 0;
if ($this->mconf['lockPosition_addSelf']) {
$this->WMy+=(strcmp($this->mconf['setFixedHeight'],'')?$this->mconf['setFixedHeight']:$this->I['val']['output_h'])+intval($this->mconf['lockPosition_adjust']);
$this->WMx+=(strcmp($this->mconf['setFixedWidth'],'')?$this->mconf['setFixedWidth']:$this->I['val']['output_w'])+intval($this->mconf['lockPosition_adjust']);
}
if ($this->isActive($this->I['uid']) && $this->mconf['displayActiveOnLoad']) { // orig: && $this->WMisSub, changed 210901
$this->WMactiveHasSubMenu = $this->WMisSub;
$this->WMactiveKey = 'Menu'.$this->WMid.$key;
$this->WMrestoreVars=trim('
GLV_restoreMenu["'.$this->WMid.'"] = "'.$this->WMactiveKey.'";
');
$this->WMrestoreScript=' GL_doTop("'.$this->WMid.'",GLV_restoreMenu["'.$this->WMid.'"]);'.($this->mconf['freezeMouseover']?'
GL'.$this->WMid.'_over(GLV_restoreMenu["'.$this->WMid.'"]);
':'');
}
if ($this->WMisSub) {
$event="GL_stopMove('".$this->WMid."');";
$this->I['linkHREF']['onMouseover']='GL_doTop(''.$this->WMid.'', 'Menu'.$this->WMid.$key.'');'.$this->I['linkHREF']['onMouseover'];
// Added 120802; This means that everytime leaving a menuitem the layer should be shut down (and if the layer is hit in the meantime it is not though).
// This should happen only for items that are auto-hidden when not over and possibly only when a hide-timer is set. Problem is if the hide-timer is not set and we leave the main element, then the layer will be hidden unless we reach the layer before the timeout will happen and the menu hidden.
if (t3lib_div::intInRange($this->mconf['hideMenuWhenNotOver'],0,600) && $this->mconf['hideMenuTimer']) {
$event.='GL_resetAll("'.$this->WMid.'");';
}
$this->I['linkHREF']['onMouseout'].=$event;
} else {
$this->I['linkHREF']['onMouseover']='GL_hideAll("'.$this->WMid.'");'.$this->I['linkHREF']['onMouseover'];
$event='GL_resetAll("'.$this->WMid.'");';
$this->I['linkHREF']['onMouseout'].=$event;
}
$this->WMxyArray[] = 'GLV_menuXY["'.$this->WMid.'"]["Menu'.$this->WMid.$key.'"] = new Array('.$this->WMx.','.$this->WMy.',"itemID'.t3lib_div::shortmd5($this->I['uid'].'-'.$this->WMid).'","anchorID'.t3lib_div::shortmd5($this->I['uid'].'-'.$this->WMid).'");';
}
Oder sieht die Funktion in V3.5 gaaaanz anders aus?
Auf jeden Fall hab ich, wie von Dir empfohlen bei if ($this->WMisSub) die Zeilen eingefügt- und das tuts dann doch nicht.
Hat das vielleicht damit zu tun, daß "meine" gewünschte Verteilerseite nicht in der zweiten sondern in der ersten Ebene des Menüs liegt? Ich verstehe WMisSub als Whole_Menu_is_Submenu. Sorry, aber PHP kenn ich bisher nur aus 3 Meilen Entfernung.
Danke für jeden Hinweis, bis jetzt und auch in Zukunft.
BB
War leider die letzten Tage offline ... habe dein Posting jetzt nur flüchtig überflogen, aber vielleicht liegt es am SETUP, hier mal meine 1. Ebene, wenn du eine weitere Ebene benutzt, musst du nochmals meinen neuen Parameter setzten ...
# Menu cObject
temp.mTop = HMENU
temp.mTop.1 = TMENU_LAYERS
temp.mTop.1 {
expAll = 1
layerStyle = position:absolute; width: 136px; VISIBILITY:hidden;
# Menu verankern, damit es nicht der Maus folgt
lockPosition = x
# Position wo sich die naechste Ebene oeffnen soll
relativeToParentLayer = 1
relativeToTriggerItem = 1
topOffset = 17
leftOffset = -25
doNotLinkIt = {$doNotLinkIt}
# Angabe wann sich die naechste Ebene wieder schliessen soll
hideMenuWhenNotOver = 50
hideMenuTimer = 70
NO.allWrap = <div class="level0-no">|</div> |*| <div class="level0-no">|</div> |*| <div class="level0c-no">|</div>
ACT = 1
ACT.allWrap = <div class="level0-act">|</div>
}
In den Constants habe ich meine PIDs der Verteilerseiten definiert, doNotLinkIt = {$doNotLinkIt} muss dann auch für Ebene 2 und 3 eingetragen sein, dann sollte es gehen ...
Hallo,
funzt wunderbar 🙂
doNotLinkIt stand bei mir nur unterhalb von NO, deshalb klappte das zunächst nicht.
Großes Lob und vielen Dank!
BB
😉
Hmmm....wäre ja genau das was ich brauche, aber ich
kriegs nicht auf die Reihe....
(ev. liegt's ja auch am lesen können ;-) )
Was ich gemacht hab:
tmenu_layers.php unter media/scripts/.
Zeile 125 angepasst:
if ($this->WMisSub) {
// Fix für Verteilerseiten
// Im Setup werden die PIDs der Seiten angegeben,
// die als reine Verteilerseiten dienen ...
$noLinkItems = $this->mconf["doNotLinkIt"];
$noLinkItems = explode(",", $noLinkItems);
foreach ($noLinkItems as $var) {
if ($this->I["uid"] == $var) $this->I["linkHREF"]["HREF"] = '#';
}
.......
Im Template für das Menu unter Constants:
doNotLink = 10,11,12
Im Setup für Ebene 1:
# Eigenschaften Ebene 1
temp.tmenu.1 {layerStyle = position:absolute;VISIBILITY:hidden;
# Menu verankern, damit es nicht der Maus folgt
lockPosition = x# Position wo sich die naechste Ebene oeffnen soll (Ebene 2)
relativeToParentLayer=1
relativeToTriggerItem=1
topOffset=14
leftOffset=0
# Angabe wann sich die naechste Ebene wieder schliessen soll
hideMenuWhenNotOver = 50
hideMenuTimer = 70# alle Menuepunkte anzeigen
expAll=1# Links welche keinen Link im Menu haben sollen, unter Constants definiert
doNotLinkIt = {$doNotLink}
Aber es will nicht.....
Wo liegt denn hier der Hund begraben....?
Danke und gruss
w@
<----edit start---->
ähemm....grosse rückruf aktion....
funzt hervorragend
kein problem mit lesen nur eins mit schauen... :o
<-----edit schluss----->
Aber hallo....
ist ja genau das was ich schon lange ver/gesucht habe 😉
Abeerrrr.... läuft das auch mit SimulateStatic...?
Da wir ja die PID etwas umgewandelt und als xx.html
angezeigt...
Frage weil...: bei der einen seite ohne simulatestatic funzt.
anderes baustell mit simulatestatic funzt nicht.
Hab ich was übersehen oder ist's halt so....?
<----edit---->
Noch ne Frage...
Wenn ich mit der Maus über ein Menupunkt geh der nicht
verlinkt ist bekomm ich "trotzdem" ein *händchen*
Gibt's ne möglichkeit das so zu machen das bei den
unverlinkten Seiten der Mauszeiger ein Zeiger bleibt?
<----edit---->
Gruss peay
peay schrieb<----edit---->
Noch ne Frage...
Wenn ich mit der Maus über ein Menupunkt geh der nicht
verlinkt ist bekomm ich "trotzdem" ein *händchen*
Gibt's ne möglichkeit das so zu machen das bei den
unverlinkten Seiten der Mauszeiger ein Zeiger bleibt?
<----edit---->
du weist der ersten ebene ja eine stylesheet klasse zu, und in er kannst du die mausart angeben
Hi Cre8tive
Grundsätzlich hast du ja Recht mit der klasse, nur ist es mit
dieser Lösung ja möglich auf derselben Ebene Linked und
NoLinked Items zu haben.
Deshalb geht's so nicht wirklich. Sonst hätten ja die anderen
Elemente mit Link auch nen Zeiger....
Oder lieg ich da falsch...?