Hallo 🙂
Ich möchte meine Typo3 als Mobile Webseite umsetzen mittels jquerymobile. Da dieses relativ Neuland für mich ist, habe ich gleich eine Fragen dazu:
Navigation:
Meine Navigation auf meiner Hauptseite sieht ungefähr so aus:
- Seite 1
- Seite 2
-- Seite 2.1
-- Seite 2.2
--- Seite 2.2.1
--- Seite 2.2.2
-- Seite 2.3
- Seite 3
usw.
Da es ja wenig Sinn macht diese Navigation 1:1 zu übernehmen, dachte ich die Navigation dynamisch aufzubauen.
Also ich dachte in etwa so:
Wenn ein Benutzer auf Seite 1 geht, werden alle Unterseiten von Seite 1 angezeigt inklusive Zurückbutton (zur vorigen Ebene). Das selbe auch mit Seite 2, Seite 2.1, Seite 2.2 usw.
Wenn es keine Unterseiten gibt, soll er das Menü der selben Ebene anzeigen.
Ist so etwas irgendwie möglich?
Ich würde mich riesig über Tipps freuen 🙂
Danke im Vorraus
Philipp
Hat wirklich keiner eine Idee?
ich könne mir ne if- Anweisung so vorstellen, nur keine Ahnung wie es in Typoscript geht:
menuid = Elternpid
if(aktuelle pid Unterseiten erhält) {
menuid = aktuelle pid
}
und zum schluss wo das Menü aufgebaut wird, Special.value.data = menuid.
Oder liege ich da falsch mit der Überlegung?
Da ja die aktuellen Unterseiten einer Seite angezeigt werden soll, wird ja noch nicht angezeigt von welcher... Ist es irgendwie möglich die Hauptseite als <li role="heading"> anzeigen zu lassen und diese auf die Seite zu verlinken?
Hoffe ihr versteht was ich mein.
mobile_menu = HMENU
mobile_menu {
wrap = <nav>|</nav>
special = directory
special.value.data = page:uid
1 = TMENU
1 {
wrap = <ul>|</ul>
NO {
wrapItemAndSub = <li>|</li>
}
}
2 < .1
3 < .1
}
Hallo,
vielen dank es funktioniert soweit sehr gut 🙂
Nur ist noch die kleine Unschönheit, dass bei der letzten Ebene wo es kein Untermenü gibt nix angezeigt wird 🙁 Kann man es irgendwie abändern, dass wenn kein Untermenü existiert das übergeordnete Menü nehmt?
Ich habe jetzt versucht, per if und conditiion zu unterscheiden ob Unterseite existiert oder nicht. Die if funktioniert auch und die Variable wird auch gesetzt (Wert 1 wenn Unterseiten vorhanden). Leider bekomme ich keine entsprechende condition hin 🙁
Menuid = TEXT
Menuid {
value = 1
if.isTrue.numRows {
table = pages
where = pid = this
}
}
mid = TEXT
[Menuid > 0]
mid.data = page:uid
[else]
mid.data = page:pid
[global]
Hat jemand eine Lösung?
Philipp88 schriebHat jemand eine Lösung?
Sorry, meine E-Mail-Benachrichtigung ist nicht aktiv – habe Deine letzten Beiträge nur zufällig entdeckt. o.O
mobile_menu = HMENU
mobile_menu {
wrap = <nav>|</nav>
special = directory
special {
value {
data = page:uid
override {
data = page: pid
if {
isFalse {
numRows {
table = pages
where = pid = this
}
}
}
}
}
}
1 = TMENU
1 {
wrap = <ul>|</ul>
NO {
wrapItemAndSub = <li>|</li>
}
}
2 < .1
3 < .1
}
Edit:
Bei data = page:pid habe ich ein Leerzeichen dazwischen gesetzt, da sonst der Forum-Editor ein Smile daraus macht:
data = page: pid
Das Leerzeichen dürften aber an die Funktion des Scripts nichts ändern.
Ich muss das Thema leider nochmal aufgreifen 🙁
Es funktioniert soweit alles sehr gut 🙂 Leider wird aber das Menü auch angezeigt (leer), wenn das Menü Seiten enthält die nav_hide=1 sind 🙁 Gibt es da noch Möglichkeit das zu unterdrücken?
Ich habe probiert in den Wherestatment "and nav_hide=0" zu setzen, leider ohne Erfolg🙁8
1. Hast du es mal mit
andWhere = nav_hide = 0
versucht?
2. Heisst das Feld in der DB denn auch nav_hide? Bin da nicht so firm.