Hallo,
gibt es die Möglichkeit bei einem Menü, die Position der aktuellen Seite im Menü zu bestimmen?
Folgende Aufgabenstellung: Mein Untermenü hat > 10 Seiten, aber nur jeweils 10 sollen dargestellt werden, über einen Pfeil kann man zu den weiteren 10 navigieren.
1 2 3 4 5 6 7 8 9 10 ->
Nun soll, wenn ich auf den Pfeil klicke, die 11. Seite dargestellt werden. Soweit bin ich auch. Aber die 11. Seite muss mit einem anderen Menü dargestellt werden, nämlich
<- 11 12 13 14 15 16 17 18 ....
Aber wie sag ich meinem Menü, daß erst die Links ab 11 abgezeigt werden sollen? Die aktuelle Seiten-ID bekomme ich ja leicht raus, aber dann komm ich nicht mehr weiter. Über die Priority habe ich es versucht (getPriority()), aber das scheint etwas anderes zu sein, da steht immer nur 1 drin.
Nicht wundern, was das soll, die Zahlen sind Referenzen, und die Seite geht auch bald online
(Alternativ könnte ich auch mit JS die unerwünschten Seiten ausblenden lassen, aber so wäre es mir irgendwie lieber...)
Vielen Dank schonmal,
Beate
Hallo,
Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.
Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.
Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
- Markus.Staab
- Entwickler
- Beiträge: 9634
- Registriert: 29. Jan 2005, 15:50
- Wohnort: Aschaffenburg/Germany
- Kontaktdaten: ICQ Website
- Markus.Staab
- Entwickler
- Beiträge: 9634
- Registriert: 29. Jan 2005, 15:50
- Wohnort: Aschaffenburg/Germany
- Kontaktdaten: ICQ Website
Hi,
evtl hilft dir die Blätterbare Liste oder die Multiliste
http://www.redaxo.de/165-Moduldetails.html?module_id=21
http://www.redaxo.de/165-Moduldetails.html?module_id=40
Gruß,
Markus
evtl hilft dir die Blätterbare Liste oder die Multiliste
http://www.redaxo.de/165-Moduldetails.html?module_id=21
http://www.redaxo.de/165-Moduldetails.html?module_id=40
Gruß,
Markus
Hallo Markus,
nur kurze Rückmeldung, wie ich es nun gemacht habe:
Erst hole ich mir alle Menü-Objekte in ein Array, und stelle gleich fest, welcher key aktiv ist.
Dann schaue ich, in welchen Bereich meine aktuelle Seite liegt:
(Das war der schwierigste Part, auf diese Formel zu kommen ))
Nun noch die max. Anzahl der Navipunkte bestimmen:
Und dann die Ausgabe:
Vielleicht nicht ganz effizient, aber funktioniert
nur kurze Rückmeldung, wie ich es nun gemacht habe:
Erst hole ich mir alle Menü-Objekte in ein Array, und stelle gleich fest, welcher key aktiv ist.
Code: Alles auswählen
foreach ($lev3->getChildren() as $lev4) {
if ($lev4->getId() == $path4) {
$article_position_in_nav = $nav4counter;
}
$nav4counter ++;
//Gesamt-Navi-Array aufbauen
$nav4array[] = $lev4;
} //foreach
Code: Alles auswählen
//Bestimmung des Beginns der Anzeige der Navi
$nav_start = $article_position_in_nav - ($article_position_in_nav % 10);
Nun noch die max. Anzahl der Navipunkte bestimmen:
Code: Alles auswählen
$nav_end = $nav_start + 11 > $nav4counter ? $nav4counter : $nav_start + 11;
Code: Alles auswählen
for ($i = $nav_start; $i < $nav_end; $i++) {
...
}
Vielleicht nicht ganz effizient, aber funktioniert
- Markus.Staab
- Entwickler
- Beiträge: 9634
- Registriert: 29. Jan 2005, 15:50
- Wohnort: Aschaffenburg/Germany
- Kontaktdaten: ICQ Website