[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Navigation mit ul Klassenvergabe für 2. und 3. Ebene - 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/
proxyking
Beiträge: 9
Registriert: 17. Okt 2013, 13:42

Navigation mit ul Klassenvergabe für 2. und 3. Ebene

17. Okt 2013, 15:13

Hallo liebe Redaxo-Community,

Ich hoffe Ihr könnt mir helfen!
Ich bin Neuling was Redaxo angeht, möchte aber eine Webseite mit dem CMS erstellen.
Das hat auch soweit geklappt, nur stehe ich jetzt vor einem Problem.

Ich möchte eine Navigation erstellen, die mir verschiedene ul Klassen für die 2. und 3. Ebene vergibt.
Dabei muss gesagt sein, dass sich die angezeigte Hauptkategorie nicht in der 1. Ebene der Redaxo-Struktur befindet.

Beispiel:

Code: Alles auswählen

Top-Navi (In meiner Struktur die 1. Ebene, soll aber nicht in die Navigation)
  '-> Über Uns (ul id="top-navi", start der navigation, somit 1.ebene der Navi)
      '-> Team (ul class="ebene2")
          '-> Max (ul class="ebene3")
          '-> Peter  (ul class="ebene3")
Derzeit benutze ich rex_navigation factory, was wunderbar die gewünschte Ebenen-Struktur wiedergibt, allerdings sehe ich hierbei keinen Weg die ul Klassen zu vergeben.
Meine PHP-Kenntnisse reichen aber auch nicht aus, um die class.rex_navigation.inc.php dies bezüglich zu bearbeiten.

Mit folgendem Code, kann ich mühelos die ul Klassen vergeben, allerdings werden dabei nicht nur die gewünschten Ebenen angezeigt, sondern alle. Auch hierbei fehlen mir wohl die ausreichenden PHP-Kenntnisse.
Hier der Code aus den Tutorials:

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>';
else
echo '<li><a href="'.$lev2->getUrl().'">'.$lev2->getName().'</a>';
}
echo '</ul>';
}
echo '</li>';
}
echo '</ul>';

?>


Ist es möglich die beiden zu kombinieren bzw. eine der beiden Navigationen so zu modifizieren, dass sie mir die richtige Struktur anzeigt und passende ul Klassen vergibt?
Ich habe mir auch andere Navigationen aus dem Download-Bereich angesehen aber bin auch hier nicht fündig geworden. Nach Möglichkeit würde ich gerne nur PHP verwenden.

Ich hoffe ich habe mich verständlich ausgedrückt und das Ihr mir helfen könnt!

Vielen Dank im Voraus!

Mit freundlichen Grüßen

Benutzeravatar
RexDude
Beiträge: 2543
Registriert: 22. Apr 2010, 11:24

Re: Navigation mit ul Klassenvergabe für 2. und 3. Ebene

17. Okt 2013, 15:55

Hi proxyking und Willkommen bei REDAXO,

bevor ich (oder jemand anderes) evtl. Vorschläge unterbreite, wie du dein Problem lösen kannst folgende Frage: wozu brauchst du denn Klassen in den unteren UL's? Du kannst doch auch per CSS ohne extra Klassen auf die einzelnen UL's zugreifen. Also so

Code: Alles auswählen

#mainmenu ul ul li { ... }
LG,
RexDude

proxyking
Beiträge: 9
Registriert: 17. Okt 2013, 13:42

Re: Navigation mit ul Klassenvergabe für 2. und 3. Ebene

17. Okt 2013, 16:34

Hi Rexdude!

Wenn ich gerade im Erdboden versinken könnte, würde ich es direkt tun! :oops:

Du hast natürlich vollkommen Recht! Da bin ich einfach garnicht drauf gekommen!

Vielen Dank!

MfG

Benutzeravatar
RexDude
Beiträge: 2543
Registriert: 22. Apr 2010, 11:24

Re: Navigation mit ul Klassenvergabe für 2. und 3. Ebene

17. Okt 2013, 16:36

Ok, kein Problem. Man lernt ja nie aus :lol:

Benutzeravatar
ralf.schlott
Beiträge: 625
Registriert: 5. Dez 2007, 21:22
Wohnort: Hamburch
Kontaktdaten: Website

Re: Navigation mit ul Klassenvergabe für 2. und 3. Ebene

6. Apr 2014, 14:19

Danke für das Aufzeigen dieser Navi. Konnte ich grad gebrauchen.

Du musst wegen online/offline nur an 2 stellen "true" verwenden:

Code: Alles auswählen

<?php

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

echo '<ul class="nav navbar-nav navbar-right">';
foreach (OOCategory::getRootCategories(true) 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="dropdown-menu">';
foreach ($lev1->getChildren(true) as $lev2)
{
if($lev2->getId() == $PATH[1])
echo '<li class="active"><a href="'.$lev2->getUrl().'">'.$lev2->getName().'</a>';
else
echo '<li><a href="'.$lev2->getUrl().'">'.$lev2->getName().'</a>';
}
echo '</ul>';
}
echo '</li>';
}
echo '</ul>';

?>
Schon wirds was.

Ralf
- Danke für Redaxo! -
http://www.prenzlweb.de

Zurück zu „Allgemeines [R4]“