aktive Navigationspunkte

Wie verwendet man Templates oder erstellt Navigationen und passt diese an.

aktive Navigationspunkte

Beitragvon splaesch » 7. Okt 2005, 15: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
splaesch
 
Beiträge: 6
Registriert: 7. Okt 2005, 14:54

Beitragvon Markus.Staab » 7. Okt 2005, 18:10

Hi,

danke für das Lob. ;)

Wie sieht denn deine Navi aus? (CODE)

Gruß,
Markus
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9781
Registriert: 29. Jan 2005, 14:50
Wohnort: Aschaffenburg/Germany

Beitragvon splaesch » 10. Okt 2005, 10: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
splaesch
 
Beiträge: 6
Registriert: 7. Okt 2005, 14:54

Beitragvon Thomas.Blum » 10. Okt 2005, 11: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
blumbeet - web.studio - Dresden - 0351 217 6225
webbude - Blog über CSS.XHTML.REX
Ein Wunschzettel
Benutzeravatar
Thomas.Blum
Entwickler
 
Beiträge: 4670
Registriert: 24. Aug 2004, 21:11
Wohnort: Dresden

Beitragvon splaesch » 10. Okt 2005, 13:10

Vielen Dank für die promte Antwort :)

Funktioniert wunderbar.

cu
splaesch
splaesch
 
Beiträge: 6
Registriert: 7. Okt 2005, 14:54

Beitragvon Michael » 26. Okt 2005, 19: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
Michael
 

Beitragvon Thomas.Blum » 26. Okt 2005, 19: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
blumbeet - web.studio - Dresden - 0351 217 6225
webbude - Blog über CSS.XHTML.REX
Ein Wunschzettel
Benutzeravatar
Thomas.Blum
Entwickler
 
Beiträge: 4670
Registriert: 24. Aug 2004, 21:11
Wohnort: Dresden

Beitragvon The Gardener » 27. Okt 2005, 10: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, 19:48

Beitragvon The Gardener » 28. Okt 2005, 00:17

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

Gruß
Michael
The Gardener
 
Beiträge: 5
Registriert: 26. Okt 2005, 19:48

Beitragvon Thomas.Blum » 28. Okt 2005, 08: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
blumbeet - web.studio - Dresden - 0351 217 6225
webbude - Blog über CSS.XHTML.REX
Ein Wunschzettel
Benutzeravatar
Thomas.Blum
Entwickler
 
Beiträge: 4670
Registriert: 24. Aug 2004, 21:11
Wohnort: Dresden

Beitragvon The Gardener » 28. Okt 2005, 14: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
The Gardener
 
Beiträge: 5
Registriert: 26. Okt 2005, 19:48

Beitragvon Thomas.Blum » 28. Okt 2005, 15:01

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


Da nicht für
blumbeet - web.studio - Dresden - 0351 217 6225
webbude - Blog über CSS.XHTML.REX
Ein Wunschzettel
Benutzeravatar
Thomas.Blum
Entwickler
 
Beiträge: 4670
Registriert: 24. Aug 2004, 21:11
Wohnort: Dresden

Beitragvon The Gardener » 28. Okt 2005, 15:56

klappt meint in diesem Fall "funktioniert" ;-)
The Gardener
 
Beiträge: 5
Registriert: 26. Okt 2005, 19:48

Beitragvon Markus.Staab » 28. Okt 2005, 16:05

The Gardener hat geschrieben:klappt meint in diesem Fall "funktioniert" ;-)


Jep, hat er doch gemerkt :-)
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9781
Registriert: 29. Jan 2005, 14:50
Wohnort: Aschaffenburg/Germany

Beitragvon Thomas.Blum » 1. Nov 2005, 07:53

kills hat geschrieben:
The Gardener hat geschrieben:klappt meint in diesem Fall "funktioniert" ;-)


Jep, hat er doch gemerkt :-)


Ja habe ich :-)
blumbeet - web.studio - Dresden - 0351 217 6225
webbude - Blog über CSS.XHTML.REX
Ein Wunschzettel
Benutzeravatar
Thomas.Blum
Entwickler
 
Beiträge: 4670
Registriert: 24. Aug 2004, 21:11
Wohnort: Dresden


Zurück zu Templates/Navigationen [R3]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste