[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Listenpunkt einer Navigation mit anderer Klasse auszeichnen - 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/
Benutzeravatar
_DSP_
Beiträge: 123
Registriert: 18. Jul 2007, 11:29
Wohnort: Stuttgart
Kontaktdaten: Website

Listenpunkt einer Navigation mit anderer Klasse auszeichnen

5. Nov 2012, 13:59

Hallo zusammen,

habe schon länger nichts mehr mit Redaxo gemacht und es kann gut sein dass ich elends auf dem Schlauch stehe, vllt gibt´s eine Lösung schon irgendwo im Forum. Dennoch mein Problem:

Ich möchte gerne eine Navigation ausgeben, die, im Falle von vorhandenen Unterkategorien, das Elternelement der Liste mit einer anderen Klasse auszeichnet.

Um etwas bildhafter zu werden:


[ externes Bild ]


Als HTML soll folgende Struktur erzeugt werden:

Code: Alles auswählen

<li>
          <a href="#">Item1</a>
</li>
<li>
          <a href="#">Item2</a>
</li>
<li class="dropdown">
          <a href="#" data-toggle="dropdown">
			Item3
	           <span class="caret"></span>
	</a>
					
	<ul class="dropdown-menu">
		<li><a href="#">Dropdown1</a></li>
		<li><a href="#">Dropdown2</a></li>
	</ul>
</li>				
<li>
          <a href="#">Item4</a>
</li>				
Hier geht´s mir um "Item3", das eine spezielle <li>-Klasse bekommen soll, sowie noch die zusätzliche <span>-Auszeichnung. Die folgende <ul>-Liste "dropdown-menu" bekomme ich entsprechend dem Beispiel von Redaxo raus:

Code: Alles auswählen

<?php

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

echo '<ul id="main-nav">';


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

if(count($lev1->getChildren())>0)
{
echo '<ul class="dropdown-menu">';
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>';

?>
Wenn noch andere Listenelemente folgen, die keine Unterkategorien haben, so sollen die natürlich ohne die zusätzliche Auszeichnung ausgegeben werden.

Würde mich freuen, wenn mir jemand einen Hinweis geben kann.

Danke und ne schöne Woche,

Daniel
----------------------
Rex rockt!
http://www.medienfeuer.de

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

Re: Listenpunkt einer Navigation mit anderer Klasse auszeich

5. Nov 2012, 15:14

Code: Alles auswählen

<script>
	jQuery(function ($) {
		'use strict';
		$('#main-nav').children().each(function() {
			var $li = $(this);
			if ($li.find('ul').length) {
				$li.addClass('dropdown');
				$li.find('a:eq(0)').after('<span class="caret"></span>');
			}
		});
	});
</script>
Dann kannst du die normale Navigation Factory nutzen...

Zurück zu „Allgemeines [R4]“