Sitemap

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

Sitemap

Beitragvon Peter.Bickel » 10. Nov 2005, 08:04

Hi,

noch ne Frage:
Ich würde gern eine dreistufige Sitemap bauen, so wie bei
http://www.albatros-outdoor.de/10-Sitemap.html
Das wurde jedoch noch Redaxo 2 gemacht und funktioniert so nicht mehr. Außerdem würde ich die neue Sitemap natürlich gern mit ul und li-Tags machen.

Ist an sich ja auch kein Problem; ich hab dazu Thomas' modifiziertes Template aus dem Downloadbereich genommen:
Code: Alles auswählen
<?php
echo '<ul class="sitemap">';
foreach (OOCategory::getRootCategories() as $lev1):
if($lev1->isOnline()):
echo '<li><a href="'.$lev1->getUrl().'">'.$lev1->getName().'</a></li>';
  $lev1Size = sizeof($lev1->getChildren());
  if($lev1Size != "0"):
   foreach ($lev1->getChildren() as $lev2):
    if ($lev2->isOnline()):
     echo '<ul>';
     echo '<li><a href="'.$lev2->getUrl().'">'.$lev2->getName().'</a></li>';
    endif;
    $lev2Size = sizeof($lev2->getChildren());
    if($lev2Size != "0"):
     foreach ($lev2->getChildren() as $lev3):
      if ($lev3->isOnline()):
       echo '<ul>';
       echo '<li><a href="'.$lev3->getUrl().'">'.$lev3->getName().'</a></li>';
       echo '</ul>';
      endif;
     endforeach;
    endif;
   endforeach;
   echo '</ul>';
  endif;
endif;
endforeach;
echo '<ul>';
?>


Was ich aber nicht hinbekomme: Man muss, um den Effekt wie bei der Albatros-Sitemap zu erreichen, dem letzten Listenpunkt einer Ebene ein anderes Format zuweisen, um den Linienabschluss hinzubekommen.
Geht das überhaupt mit meinem Code-Ansatz?

Herzlichen Dank im voraus,
Peter.
Benutzeravatar
Peter.Bickel
 
Beiträge: 1642
Registriert: 25. Jan 2005, 20:17
Wohnort: Schleswig-Holstein

Beitragvon Thomas.Blum » 10. Nov 2005, 09:02

Hej Peter,

das folgende Script liest bis zu 3 Kategorien aus und setzt im letzten <li>-Tag ein Klasse "ende" rein.

Code: Alles auswählen
<?php

$class = ' class="ende"';

$catsLev1 = OOCategory::getRootCategories();
$countLev1 = count($catsLev1);
$key1 = $countLev1-1;
$lastLev1 = $catsLev1[$key1];


echo '<ul class="sitemap">';

foreach (OOCategory::getRootCategories() as $lev1):
   
   if($lev1->isOnline()):
      $style1 = "";
      if ($lastLev1->getId() == $lev1->getId()) $style1 = $class;
      
      echo '<li'.$style1.'><a href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';

      
      $lev1Size = sizeof($lev1->getChildren());
      
      $catsLev2 = $lev1->getChildren();
      $key2 = $lev1Size-1;
      $lastLev2 = $catsLev2[$key2];
      if($lev1Size != "0"):
         echo '<ul>';
         foreach ($lev1->getChildren() as $lev2):

            if ($lev2->isOnline()):
               $style2 = "";
               if ($lastLev2->getId() == $lev2->getId()) $style2 = $class;
               echo '<li'.$style2.'><a href="'.$lev2->getUrl().'">'.$lev2->getName().'</a>';
               
      
               $lev2Size = sizeof($lev2->getChildren());
      
               $catsLev3 = $lev2->getChildren();
               $key3 = $lev2Size-1;
               $lastLev3 = $catsLev3[$key3];
               if($lev2Size != "0"):
                  echo '<ul>';
                  foreach ($lev2->getChildren() as $lev3):

                     if ($lev3->isOnline()):
                        $style3 = "";
                        if ($lastLev3->getId() == $lev3->getId()) $style3 = $class;
                        echo '<li'.$style3.'><a href="'.$lev3->getUrl().'">'.$lev3->getName().'</a></li>';
                     endif;
                  endforeach;
                  echo '</ul>';
               endif;               
               print '</li>';
            endif;
         endforeach;
         echo '</ul>';
      endif;
     
      echo '</li>';     
   endif;

endforeach;
echo '</ul>';
?>



viele Grüße 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 Peter.Bickel » 10. Nov 2005, 12:22

Lass Dir die Füße küssen, großer Meister der CSS-Befehle!
Oder kurz: Tausend Dank, Thomas!

Peter.
Benutzeravatar
Peter.Bickel
 
Beiträge: 1642
Registriert: 25. Jan 2005, 20:17
Wohnort: Schleswig-Holstein


Zurück zu Templates/Navigationen [R3]

Wer ist online?

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