Hallo,
ich habe folgendes Problem:
Ich habe ein Menü auf der linken Seite. Beim Anklicken eines bestimmten Unterpunktes soll auf der rechten Seite ein neues Menü (quasi ein Untermenü zu Punkt x) eingeblendet werden:
Menü1 Menü2
... ...
... ...
Punkt x ...
...
...
Das HTML-Template ist eine dreispaltige Tabelle und im Setup habe ich in der linken und rechten Spalte jeweils ein GMenu angelegt.
Die rechte Spalte enthält neben dem Marker ###MENU_RECHTS### zusätzlich den Marker ###STATIC_RECHTS### dem ich anderen Content zuweisen will.
Ich hatte vor mit Hilfe einer Bedingung entweder das Menü oder den anderen Content anzuzeigen:
"If Punktx ausgewählt zeige MENU_RECHTS else zeige STATIC_RECHTS"
Geht das überhaupt und wenn ja, wie prüfe ich ob Punkt x aktiv ist und blende blende dann das Menü2 ein?
Ein sehr interressantes Problem, das eigendliche Problem ist das es dabei warscheinlich nicht mehr alleinig mit Typoskipt arbeiten kann... oder man versucht das ganze tatsächlich mit der If-Lösung...
Dh:
*typoskript von menü 1*
[PIDinRootline =165] (wenn seite oder unterseite angeklickt)
*änderungen (zb das nurnoch die Punkte von ID 1 - 20 angezeigt werden und die ab id 20 nicht mehr)
[END]
*startzeile von menü 2* (zb temp.leftnav = HMENU, diese Spielerei macht man damit der Marker unsichtbar bleibt auch wenn da kein Menü ist)
[PIDinRootline =165]
*typoskript von menü 2* (anzeigen von Punkten von id 20-x)
[GLOBAL]
Is natürlich Pseudocode bis auf das Beispiel und die If-Befehle, aber ich habs mal so hingeschrieben um dich zu fragen ob ich das Prob richtig verstanden habe
MFG Proximo
Hm, schwer zu sagen, weil ich deinen Code nicht so richtig blicke (z.B. [PIDinRootline =165]) :o
Um es mal einfach auszudrücken: In Antik-HTML hätte ich das über ein Frameset gelöst.
Im rechten Frame wird dann eben einfach bei Klick auf PunktX ein neuer Inhalt (das Menü) geladen und bei Klick auf alles andere der statische Inhalt.
Und mein ursprünglicher Ansatz war auch mit Globals und wenn man die in geschweiften Klammern benutzen dürfte, wär alles gar kein Problem 😉
Danke jedenfalls, vielleicht hast du ja ne Idee für ne einfache Lösung, ist mein erstes Typo-Projekt #paralyzed#
Hi... ich hatte letztens ein ähnlcihes problem, das ich aber noch nich ganz gelost habe. bei mir war es allerdings noch ein bissel schwieriger wegen des hintergrunds.
ich hab mal versucht es zu erklären:
#102407
die erklärung is ein bissel dürftig, aber vielleicht verstehst du ja was gemeint war..
Ja, genau so stell ich mir das vor. 🙂
Nur, dass bei mir die Struktur noch etwas einfacher ist, da ich auf der rechten Seite nur ein einziges Menü benötige (dafür ist die Site allerdings dreisprachig)
Und sonst schwebt mir wie bei dir ebenfalls eventuell eine Newsanzeige rechts vor.
Deine Erklärung ist für mich allerdings noch etwas zu wenig :o
Ich hab dies mal mit entrylevel gelöst.
das linke Menu:
temp.menu = HMENU
temp.menu.1 = TMENU
temp.menu.1.noBlur = 1
temp.menu.1 {
NO.allWrap = <tr> <td class="navmenue"> | </td> </tr>
SPC = 1
SPC.allWrap=<tr><td>| </td></tr>
}
das rechte Menu
#rechtes Menu
temp.menu_right = HMENU
temp.menu_right.entryLevel = 1
temp.menu_right.1 = TMENU
temp.menu_right.1{
noBlur = 1
# NO.ATagBeforeWrap = 1
NO.allWrap = | <br>
# NO.linkWrap = > |
NO.ATagParams = class="right-menu"
}
Diese musst du nur noch in dein Template einfügen.
Wenn du keine Unterpunkte hast, dann wird nix eingefügt.
Du musst nur aufpassen, das durch den evtl fehlenden Inhalt dein Design nicht verändert wird.
z.B.
du hast für dein rechtes Menü eine Tabelle vorgesehn.
Dann baust du dir ein Menü das nur den Inhalt der Tabelle einfügt, nicht die Tabelle als ganzes.
<table>
<!--###Markierung###-->
<tr>
<td> menueintrag </td>
</tr>
<!--###Markierung###-->
</table>
Ich hoffe ich konnte dir helfen
Gruß
Sven
ok, also die news sind ganz einfach zu machen, da gibt es super tutorials dazu...
die lösung die cokker da hat, habe ich auch versucht, nur klappte bei mir nicht, weil dann, wenn die links nicht auftauchen sollen das obere und untere ende der tabelle trotzdem da waren.
also mein marker wird im setup wie folgt angesprochen:
#menu rechts
temp.menu_2 = HMENU
temp.menu_2.entryLevel = 3
temp.menu_2.1 = TMENU
temp.menu_2.1.NO.allWrap = <div class="nav2_top"> | </div> |*| <div class="menu2-level3-no"> | </div> |*| <div class="nav2_bottom"> | </div>
temp.menu_2.1.ACT = 1
temp.menu_2.1.ACT.allWrap = <div class="nav2_top"> | </div> |*| <div class="menu2-level3-act"> | </div> |*| <div class="nav2_bottom"> | </div>
#menu 5. ebene
temp.menu_2.2 = TMENU
temp.menu_2.2 {
# Normal state properties
NO.allWrap = <div class="menu2-level4-no"> | </div>
# Enable active state and set properties:
ACT = 1
ACT.allWrap = <div class="menu2-level4-act"> | </div>
}
ist soweit ja nix besonderes, bis auf die wraps. naja und in meinem template taucht die tabelle gar nicht auf, weil ich die höhen auf 0 px gesetzt habe. wenn allerdings links da sind werden sie mit den div tags "nav2_top geöffnet. in denen stimmt dann wieder die größenangabe.. also "gehen sie auf"
Cool, gleich zwei Lösungen zum ausprobieren. Werd ich nachher mal beide testen. Scheint ja nicht zu viel Codegewusel zu sein.
Danke euch 🙂
achja vorsicht bei meiner lösung: ich habe leider durch diese wrap-geschichte 2 links die ich nicht will. den ersten, der im oberen feld steht und den letzten im unteren feld. weiß leider noch nicht wie ich die wegbekommen, aber wenn ich das gescahfft hab find ich die lösung top :p
:o
Ähem, da ich offenbar noch zu wenig Ahnung habe, um richtig durch euren Code zu steigen, hab ich das Problem am WE noch mal gründlich überschlafen 😉
und es jetzt folgendermaßen gelöst:
Ich erzeuge für PunktX ein Ext-Template und definiere das rechte Menü dort drin. Auf allen anderen Seiten wird der entsprechende Marker einfach ausgeblendet.
Das gleiche Ext-Template muss ich dann auch noch auf das Menü rechts pappen (sonst wird es ja bei Benutzung immer wieder ausgeblendet) und schon klappts. 8-)
Oder ist das irgendwie ungeschickt und ich merk's nur noch nicht? :o
Edit:
OK, ein Haken ist, dass der globale rechte Content dann immer angezeigt wird, also auch wenn das rechte Menü aktiv ist.
Also werde ich global rechts gar nix definieren und für jeden Punkt im linken Menü ein Ext-Template anlegen. Das kommt mir aber eigentlich entgegen, da ich so je nach Menüpunkt links die Inhalte rechts verändern kann.