2nd permanet anzeigen

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

2nd permanet anzeigen

Beitragvon sek » 10. Apr 2009, 21:33

ich glaub ich bin zu doof.
das kann ja nur ne kleiner änderung im template sein, aber ich brauche hilfe.

ich würde gern, wenn eine kategorie weiter unterkategorien hat, die nicht erst nach dem klick sondern permanten anzeigen lassen. also das untermenü was sonst erst nach dem klick auf die 1st level kategorie auftaucht soll schon von anfang an permanten zu sehen sein.

ich nutze dieses nav-template:
Code: Alles auswählen
<?php


// EXPLODE PATH

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



// GET CURRENTS

$path1 = $PATH[1];

$path2 = $PATH[2];

$path3 = $PATH[3];



/* START 1st level categories */

$mainnavi .= '<ul class="nav1st">';

foreach (OOCategory::getRootCategories() as $lev1) {     

   if ($lev1->isOnline(true)) {
      // 1st level - no active link

      if ($lev1->getId() != $path1) {

         $mainnavi .= '<li><a href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';

      }
      // 1st level - active link

      else {
         // 1st level had categories? -> go on

         $lev1Size = sizeof($lev1->getChildren());
         
         // 1st level - has no categories
         if ($lev1Size == "0") {
            $mainnavi .= '<li><a class="current1" style="display: block;
   height: 18px;
   color: #fff;
   border: 0;
   margin: 0 0 0 -5px;
   font-size: 12px;
   font-weight: bold;"  href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';
         }
         // 1st level - has categories
         else {
            $active = "0";
            foreach ($lev1->getChildren() as $lev2) {

               if ($lev2->isOnline(true)) {

                  if ($lev2->getId() == $path2) { // 2nd level - active link, then the 1st level link is not active
                     $mainnavi .= '<li><a href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';
                     $active = "1"; //found an active 2nd level
                  }
               }
            } // endforeach ($lev1->getChildren() as $lev2)
            if ($active == "0") { // 1st level ist activ and und 2nd level links existieren
               $mainnavi .= '<li><a class="current1" style="display: block;
   height: 18px;
   color: #fff;
   border: 0;
   margin: 0 0 0 -5px;
   font-size: 12px;
   font-weight: bold;" href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';
            }
            $mainnavi .= '<ul class="nav2nd">';

            // START 2nd level categories

            foreach ($lev1->getChildren() as $lev2) {

               if ($lev2->isOnline(true)) {

                  // 2nd level - active link

                  if ($lev2->getId() == $path2) {
                     $mainnavi .= '<li><a class="current2" style="display: block;
   height: 13px;
   color: #fff;
   border: 0;
   margin: 0 0 0 -5px;
   font-size: 12px;
   font-weight: bold;"  href="'.$lev2->getUrl().'">'.$lev2->getName().'</a></li>';

                  }

                  // 2nd level - no active link

                  else {

                     $mainnavi .= '<li><a href="'.$lev2->getUrl().'">'.$lev2->getName().'</a></li>';

                  }
               }
            } // endforeach ($lev1->getChildren() as $lev2)
            $mainnavi .= '</ul>';
         } // end of else of if ($lev1Size == "0"):

      } // end of else of if ($lev1->getId() != $path1)

     

      $mainnavi .= '</li>';
   } // end of if ($lev1->isOnline())
} // endforeach (OOCategory::getRootCategories() as $lev1)
$mainnavi .= '</ul>';

// END 1st level categories
 
//print $mainnavi;


?>


danke für eure hilfe.
sek
 
Beiträge: 34
Registriert: 11. Sep 2008, 16:19
Wohnort: Görlitz

Beitragvon raybeam » 11. Apr 2009, 10:13

Hallo sek,

vielleicht probierst du folgendes Template aus:

http://www.redaxo.de/168-0-templatedetails.html?template_id=24

Im unteren Bereich des Quelltextes findest Du einen "Menü-Umschalter". Wenn Du diesen von

Code: Alles auswählen
if($subUl=='')$subUl='on';


in

Code: Alles auswählen
if($subUl=='')$subUl='allOn';


änderst, werden alle Kategorien permanent als Menüpunkte angezeigt.

Gruß

Peter
Benutzeravatar
raybeam
 
Beiträge: 445
Registriert: 5. Feb 2006, 20:30

Beitragvon sek » 11. Apr 2009, 11:06

danke für die schnelle antwort.

aber ein neues template einbauen würde den aufwand jetzt überschreiten. ich habe nämlich gemerkt, das neue template benutzen funktioniert nicht, da müsste wahrscheinl. einiges angepasst werde.

aber das geht doch bestimmt auch einfacher, mit dem template das ich schon verwende. oder nicht?
sek
 
Beiträge: 34
Registriert: 11. Sep 2008, 16:19
Wohnort: Görlitz

Beitragvon raybeam » 11. Apr 2009, 13:04

eigentlich brauchst Du das neue Template nur in dein Seitentemplate einbinden und ein "print $navigation" in deinem Seitentemplate zeigt die Navigation dort an, wo Du sie haben möchtest - dann evtl. noch die Stylesheets anpassen, fertig :)

Da ich dein benutzes Template nicht kenne, vermute ich, dass du irgendwo im Bereich von

Code: Alles auswählen
if ($lev2->getId() == $path2) ...


Anpassungen vornehmen musst, um die von dir benötigte Funktionalität einzubauen. Aber wie gesagt, ich habe den Quelltext nur überflogen.

Gruß

Peter
Benutzeravatar
raybeam
 
Beiträge: 445
Registriert: 5. Feb 2006, 20:30

Beitragvon sek » 15. Apr 2009, 01:11

habs hinbekommen und dein empfohlenes template einbauen und anpassen können.

vielen dank für die hilfe und die tipps
sek
 
Beiträge: 34
Registriert: 11. Sep 2008, 16:19
Wohnort: Görlitz

Beitragvon raybeam » 15. Apr 2009, 15:43

gerne :)
Benutzeravatar
raybeam
 
Beiträge: 445
Registriert: 5. Feb 2006, 20:30


Zurück zu Templates/Navigationen [R3]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast