[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Horizontale Navigation mit Trennern - REDAXO Forum
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/
ArchieMB
Beiträge: 15
Registriert: 22. Nov 2011, 11:32

Horizontale Navigation mit Trennern

22. Nov 2011, 11:57

Hallo,

Ich bin noch ziemlich neu in Sachen PHP und habe folgendes Problem:

Ich möchte eine horizontale Hauptnavi mit einer horizontalen Subnavi bauen, wobei die Subnavi unter der Hauptnavi ist, nur die Unterpunkte des aktuellen Hauptnavipunktes zeigt und dabei jeder Unterpunkt mit einem · getrennt wird (außer nach dem letzten, da natürlich kein Trenner mehr).

Bei folgendem Code bekomme ich zwar hin, dass nur die aktuelle Subnavi gezeigt wird, aber ich weiß nicht, wie ich zwischen den <li> einen Trenner bekomme:

Code: Alles auswählen

<?php
$P = explode("|",$this->getValue("path").$this->getValue("article_id")."|");
$rexnav2 = rex_navigation::factory();
echo $rexnav2->get($P[1],3,TRUE,TRUE);
?>
Und bei dieser Variante bekomme ich das mit dem Trenner hin (jedoch habe ich den Punkt auch nach dem letzen Menüpunkt), aber schaffe es nicht, nur die Subnavipunkte der aktuell gewählten Hauptnavikategorie anzeigen zu lassen:

Code: Alles auswählen

<?php

$PATH = explode("|",$this->getValue("path").$this->getValue("article_id")."|");

echo '<ul class="nav1">';
foreach (OOCategory::getRootCategories() as $lev1)
{
if($lev1->getId() == $PATH[1])
echo '<li class="active"><a href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';
else
echo '<li><a href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';

if(count($lev1->getChildren())>0)
{
echo '<ul class="nav2">';
foreach ($lev1->getChildren() as $lev2)
{
if($lev2->getId() == $PATH[1])
echo '<li class="active"><a href="'.$lev2->getUrl().'">'.$lev2->getName().'</a> &middot;';
else
echo '<li><a href="'.$lev2->getUrl().'">'.$lev2->getName().'</a> &middot;';
}
echo '</ul>';
}
echo '</li>';
}
echo '</ul>';

?>
Welche möglichkeit von beiden ist am besten dafür geeignet und wie setze ich das um? Oder gibt es da noch eine andere Möglichkeit?

Vielen Dank im Voraus!

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

Re: Horizontale Navigation mit Trennern

22. Nov 2011, 12:07

Hi ArchieMB!
ArchieMB hat geschrieben:Welche möglichkeit von beiden ist am besten dafür geeignet und wie setze ich das um? Oder gibt es da noch eine andere Möglichkeit?
Ich würde das einfach per CSS umsetzen. In dem Beispiel hast du zwar Striche statt Punkte, aber das kannst du ja relativ einfach ändern: http://maumha.de/rex/list-splitter.php.
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

ArchieMB
Beiträge: 15
Registriert: 22. Nov 2011, 11:32

Re: Horizontale Navigation mit Trennern

22. Nov 2011, 12:42

Vielen Dank für die Antwort!

Mir wäre es lieber, wenn es ohne Bilder auskommen würde, also nur Text und CSS.
Aber wie hast du das gelöst, dass nach dem letzten Punkt kein Strick mehr da ist? Ich habe es immer mit li:last-child gemacht

Ingo
Beiträge: 782
Registriert: 24. Jun 2010, 00:34

Re: Horizontale Navigation mit Trennern

23. Nov 2011, 15:40

Bilder sind besser weil du dir sonst deinen Quelltext mit semantisch sinnlosen Zeichen vollknallst. Da bedanken sich dann auch die Leute mit Screenreader.
Robert hat den <li>s einen negativen margin nach links gegeben, dadurch ist der Hintergrund des ersten nicht mehr zu sehen. Du solltest :first-child statt :last-child verwenden, die Browserunterstützung ist besser.

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

Re: Horizontale Navigation mit Trennern

23. Nov 2011, 16:53

ArchieMB hat geschrieben:Mir wäre es lieber, wenn es ohne Bilder auskommen würde, also nur Text und CSS.
Das erreichst du mit den Pseudoklassen :after oder :before und generiertem content.
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

ArchieMB
Beiträge: 15
Registriert: 22. Nov 2011, 11:32

Re: Horizontale Navigation mit Trennern

6. Dez 2011, 15:45

Danke! Ich habs mit einem Bild gelöst! :)

Zurück zu „Allgemeines [R4]“