[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
aktive Navigationspunkte - 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/
splaesch
Beiträge: 5
Registriert: 7. Okt 2005, 15:54

aktive Navigationspunkte

7. Okt 2005, 16:38

Hi zusammen,

ihr habt es nun sicherlich schon ein paar mal gehört, aber ich muß es einfach nochmal sagen, daß ihr mit redaxo wirklich ein klasse cms entwickelt habt. Schön schlank, übersichtlich und trotzdem lässt sich einiges damit realisieren.

Nun aber zu meinem Problem. Ich bastel gerade an einer Seite rum, bei der die Navigationspunkte, wenn Sie angeklickt wurden, aktiv bleiben sollen. Links ist meine Hauptnavigation und die Unterpunkte erscheinen dann in einer langen Leiste am Beginn der Seite.

Hat mir jemand nen tip, wie ich das mit den aktiven Menüpunkten hinkrieg?
Vielen Dank auf jedenfall schonmal im Voraus.

cu
splaesch

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

7. Okt 2005, 19:10

Hi,

danke für das Lob. ;)

Wie sieht denn deine Navi aus? (CODE)

Gruß,
Markus

splaesch
Beiträge: 5
Registriert: 7. Okt 2005, 15:54

10. Okt 2005, 11:32

Also meine Hauptnavigation sieht so.

Code: Alles auswählen

<div id="sub-block2">
	<?php echo '<ul class="navigation">';
		foreach (OOCategory::getRootCategories() as $lev1):
			if($lev1->isOnline()):
				echo '<li><a href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';
					$lev1Size = sizeof($lev1->getChildren());
				echo '</li>';		
			endif;
		endforeach;
		echo '</ul>';
		/*
		$navigation = OOTemplate::getNavigation();
		print $navigation;
		*/
	?>
</div>
Anzuschauen auch unter http://cms.hshirrle.de. Dort sollte dann, wenn z.B. Über mich angeklickt ist, der Punkt in der Hauptnavigation auch aktiv bleiben (wie z.B. auf http://www.public-4u.de/).

Vielen Dank für die Hilfe.

cu
Splaesch

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

10. Okt 2005, 12:25

Hej,

Code: Alles auswählen

<div id="sub-block2">
<?php 
   
   
$path = explode( '|', $this->getValue("path").$this->getValue("article_id"));

$path1 = $path[1];
$path2 = $path[2];
$path3 = $path[3];

echo '<ul class="navigation">';
      foreach (OOCategory::getRootCategories() as $lev1):
         if($lev1->isOnline()):
		 	if ($lev1->getId() == $path1) {
	            echo '<li>'.$lev1->getName().'</li>';
			}
			else { 
	            echo '<li><a href="'.$lev1->getUrl().'">'.$lev1->getName().'</a></li>';
			}      
         endif;
      endforeach;
      echo '</ul>';
      /*
      $navigation = OOTemplate::getNavigation();
      print $navigation;
      */
?>
</div>
Thomas

splaesch
Beiträge: 5
Registriert: 7. Okt 2005, 15:54

10. Okt 2005, 14:10

Vielen Dank für die promte Antwort :)

Funktioniert wunderbar.

cu
splaesch

Michael

26. Okt 2005, 20:46

Hallo, ich kann mich splaesch nur anschliessen, Redaxo macht Spass. Ich hätte ich auch eine Frage. Mein Menü ist etwas anders aufgebaut, es zeigt 2 Ebenen an, die 2. aber nur wenn die erste angeklickt wurde.

Nun hätte ich gerne, dass der Over Effekt für den geöffneten Menüpunkte bleibt. Bewegt man sich in der 2. Ebene müssten also 2 Menüpunkte mit dem Over Effekt belegt sein. Anhand des hier angeführten Beispiels ist es mit leider bislang nicht gelungen.

So sieht mein Code bislang aus:

Code: Alles auswählen

<?php
$path = explode( '|', $this->getValue("path").$this->getValue("article_id"));

$path1 = $path[1];
$path2 = $path[2];
$path3 = $path[3];

echo '<ul class="navigation">';
foreach (OOCategory::getRootCategories() as $lev1):
	if($lev1->isOnline()):
		echo '<li><a href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';
		if ($lev1->getId() == $path1) :
			$lev1Size = sizeof($lev1->getChildren());
 
			if($lev1Size != "0"):
			echo '<ul>';
				foreach ($lev1->getChildren() as $lev2):
					if ($lev2->isOnline()):
						echo '<li><a href="'.$lev2->getUrl().'">'.$lev2->getName().'</a></li>';
					endif;
					 	
				endforeach;
				echo '</ul>';
				endif;
			endif;
		echo '</li>';			
	endif;
endforeach;
echo '</ul>';
/* 
$navigation = OOTemplate::getNavigation(); 
print $navigation; 
*/ 
?>
Bin für jeden Tipp dankbar.

LG
Michael

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

26. Okt 2005, 20:56

Hej,

funktioniert so:

Code: Alles auswählen

foreach (OOCategory::getRootCategories() as $lev1):
   if($lev1->isOnline()):
      if ($lev1->getId() == $path1) :
     	 echo '<li><a class="current" href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';
         $lev1Size = sizeof($lev1->getChildren());
 
         if($lev1Size != "0"):
         echo '<ul>';
            foreach ($lev1->getChildren() as $lev2):
               if ($lev2->isOnline()):
                  echo '<li><a href="'.$lev2->getUrl().'">'.$lev2->getName().'</a></li>';
               endif;
                   
            endforeach;
            echo '</ul>';
            endif;
     	 echo '</li>';
		else: 
     	 echo '<li><a href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';
         endif;      
   endif;
endforeach;  
Jetzt im CSS die Klasse current deinen Aktiven Status vergeben

Thomas

The Gardener
Beiträge: 5
Registriert: 26. Okt 2005, 20:48

27. Okt 2005, 11:51

Danke für die schnelle Antwort. Funktioniert für die 1. Ebene prima.
VErsuche das jetzt für die 2. Ebene auch hinzubekommen. Wenn ich
es nicht hinbekomme medle ich mich wieder.

Danke soweit erstmal.
LG
Michael

The Gardener
Beiträge: 5
Registriert: 26. Okt 2005, 20:48

28. Okt 2005, 01:17

hmm, will nicht hinhauen. Habe wild rumprobiert :oops: , ich gebe es zu. Hast Du noch einen Hinweis für mich?

Gruß
Michael

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

28. Okt 2005, 09:35

Hej,

die Schleife ersetzen mit:

Code: Alles auswählen

foreach (OOCategory::getRootCategories() as $lev1):
   if($lev1->isOnline()):
      if ($lev1->getId() == $path1) :
         echo '<li><a class="current" href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';
         $lev1Size = sizeof($lev1->getChildren());
 
         if($lev1Size != "0"):
         echo '<ul>';
            foreach ($lev1->getChildren() as $lev2):
				if ($lev2->isOnline()):
      				if ($lev2->getId() == $path2) :
	                  	echo '<li><a class="current" href="'.$lev2->getUrl().'">'.$lev2->getName().'</a></li>';
				 	else:
				 		echo '<li><a href="'.$lev2->getUrl().'">'.$lev2->getName().'</a></li>';
				 	endif;				 
               endif;
                   
            endforeach;
            echo '</ul>';
            endif;
         echo '</li>';
      else:
         echo '<li><a href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';
         endif;     
   endif;
endforeach; 
Gruss Thomas

The Gardener
Beiträge: 5
Registriert: 26. Okt 2005, 20:48

28. Okt 2005, 15:24

Hallo Thomas,

vielen Dank für die Hilfe, klappt jetzt 1a. Ich hatte ein Problem mit dem
Stylesheet, weswegen der Effekt die ganze Zeit nicht sichtbar wurde.
Wieder was gelernt :-)

Sonnige Grüße.
Michael

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

28. Okt 2005, 16:01

The Gardener hat geschrieben:vielen Dank für die Hilfe, klappt jetzt 1a.
Da nicht für

The Gardener
Beiträge: 5
Registriert: 26. Okt 2005, 20:48

28. Okt 2005, 16:56

klappt meint in diesem Fall "funktioniert" ;-)

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

28. Okt 2005, 17:05

The Gardener hat geschrieben:klappt meint in diesem Fall "funktioniert" ;-)
Jep, hat er doch gemerkt :-)

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

1. Nov 2005, 08:53

kills hat geschrieben:
The Gardener hat geschrieben:klappt meint in diesem Fall "funktioniert" ;-)
Jep, hat er doch gemerkt :-)
Ja habe ich :-)

Zurück zu „Allgemeines [R3]“