Newbie Template Probleme bei Redaxo 3.1

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

Newbie Template Probleme bei Redaxo 3.1

Beitragvon darkdesert » 30. Nov 2005, 12:12

Hallo.
Irgendwie hab ich das Gefühl, dass ich mich echt "ungeschickt" anstelle. :oops:
Die Demo 3.1 läuft super, aber mein Problem mit der NAV und der dritten Ebene bekomm ich nicht in den Griff!
Ebene1=horizontal
Ebene2=vertikal
Ebene3=Unterbene/vertikal (wie kann ich diese hinzufügen?)
:?: :?: :?:
darkdesert
 
Beiträge: 12
Registriert: 29. Nov 2005, 12:28

Beitragvon Thomas.Blum » 30. Nov 2005, 12:26

Hej,

hier ist dein Code.

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 */
$navHeader .= '<ul class="nav1st">';
foreach (OOCategory::getRootCategories() as $lev1) {
      
   if ($lev1->isOnline()):
      if ($lev1->getId() == $path1) {
         $navHeader .= '<li class="active"><a class="current" href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';
         if ($lev1->getId() != "1") {
            $sitePath .= ' ›› <a href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';
         }
         $titlePath .= ' >> '.$lev1->getName();
      }
      // 2nd level - no active link
      else {
         $navHeader .= '<li><a href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';
      }
         
      // 1st level had categories? -> go on
      $lev1Size = sizeof($lev1->getChildren());
   
      if ($lev1->getId() == $path1) {
      if ($lev1Size != "0"):
         $navLeftCol .= '<ul class="nav2nd">';
         $navLeftCol .= '<li><strong>Unterkategorien</strong></li>';


         // START 2nd level categories
         foreach ($lev1->getChildren() as $lev2):
                  
            if ($lev2->isOnline()):
   
            // 2nd level - active link
               if ($lev2->getId() == $path2) {
                  $navLeftCol .= '<li class="active"><a class="current" href="'.$lev2->getUrl().'">'.$lev2->getName().'</a>';
                  $sitePath .= ' ›› <a href="'.$lev2->getUrl().'">'.$lev2->getName().'</a>';
                  $titlePath .= ' >> '.$lev2->getName();
               }
               // 2nd level - no active link
               else {
                  $navLeftCol .= '<li><a href="'.$lev2->getUrl().'">'.$lev2->getName().'</a>';
               }
               
         
               // 2nd level had categories? -> go on
               $lev2Size = sizeof($lev2->getChildren());
               if ($lev2Size != "0"):
                  $navLeftCol .= '<ul class="nav3rd">';
                  foreach ($lev2->getChildren() as $lev3):
                  
                     if ($lev3->isOnline()):
   
                        // 3rd level - active link
                        if ($lev3->getId() == $path3) {
                           $navLeftCol .= '<li class="active"><a class="current" href="'.$lev3->getUrl().'">'.$lev3->getName().'</a></li>';
                           $sitePath .= ' ›› <a href="'.$lev3->getUrl().'">'.$lev3->getName().'</a>';
                           $titlePath .= ' >> '.$lev3->getName();
                        }
                        // 2nd level - no active link
                        else {
                           $navLeftCol .= '<li><a href="'.$lev3->getUrl().'">'.$lev3->getName().'</a></li>';
                        }
                     endif;
                  endforeach;
               
                  $navLeftCol .= '</ul>';
               endif;
               
               $navLeftCol .= '</li>';
         
            endif;         
            
         endforeach;
         // END 2nd level categories
      
         $navLeftCol .= '</ul>';
      endif; // END by if ($lev1Size != "0"):
      }
      $navHeader .= '</li>';

   endif; // END by if ($lev1->isOnline())
}
$navHeader .= '</ul>';
// END 1st level categories

if ($REX['CUR_CLANG'] == 1) $breadcrumb = 'You are here: <a href="/index.php?clang=1">Startpage</a> '.$sitePath;
else $breadcrumb = 'Sie befinden sich hier: <a href="/index.php">Startseite</a> '.$sitePath;



?>


Bitte mal testen und Feedback geben. Setze das dann unter den Downloads rein

vg 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 Gast » 30. Nov 2005, 12:43

Funktioniert wunderbar! Genau wie ich es mir vorgestellt habe!!!

DANKE! :!: :wink:
Gast
 

Beitragvon Dr KillerJoe » 30. Nov 2005, 12:43

Also ich hab das auch mal ausprobiert... Hatte ja das gleiche Problem... Die Navi funktioniert, nur was müßte ich ändern, daß die 3te Ebene erst beim anklicken der 2ten ebene erscheint?


Super großes Lob wegen eurem schönen Redaxo 3.1 :-)
Die Doku und Wiki sind Deine Freunde!!!
Dr KillerJoe
 
Beiträge: 1729
Registriert: 24. Nov 2005, 21:29

Beitragvon darkdesert » 30. Nov 2005, 12:45

DANKE! :D
darkdesert
 
Beiträge: 12
Registriert: 29. Nov 2005, 12:28

Beitragvon Thomas.Blum » 30. Nov 2005, 12:47

Hej,

Dr KillerJoe hat geschrieben:Die Navi funktioniert, nur was müßte ich ändern, daß die 3te Ebene erst beim anklicken der 2ten ebene erscheint?


Suche das
Code: Alles auswählen
if ($lev2Size != "0"):


Und ersetze es mit
Code: Alles auswählen
if ($lev2Size != "0" AND $lev2->getId() == $path2):



vg 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 Dr KillerJoe » 30. Nov 2005, 13:01

Ein RIESIGES Danke!!!

Dann brauche ich mich jetzt nur noch dem Grafischen Teil zu widmen *freu*


Nur schade, daß es auf meinem Home-Server nicht richtig funktioniert...
Die Doku und Wiki sind Deine Freunde!!!
Dr KillerJoe
 
Beiträge: 1729
Registriert: 24. Nov 2005, 21:29

Beitragvon Markus.Staab » 30. Nov 2005, 15:05

Hi

Dr KillerJoe hat geschrieben:Nur schade, daß es auf meinem Home-Server nicht richtig funktioniert...


Das Problem ist?

Falls das Problem in einem anderen Thread schonmal von dir angesprochen wurde, bitte nicht parallel zum gleichen Thema schreiben.

Gruß,
Markus

EDIT:

Ich nehme alles zurück, hier gehts weiter:
http://forum.redaxo.de/viewtopic.php?p=6550#6550
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9781
Registriert: 29. Jan 2005, 14:50
Wohnort: Aschaffenburg/Germany

Beitragvon hawk » 5. Dez 2005, 15:10

hi,

also ich hab den oben angegebenen Code einfach bei dem default-Template über
Code: Alles auswählen
<?php print $navLeftCol; ?>
eingefügt.

Mit HTML und CSS hab ich Erfahrungen aber PHP, da sitz ich noch in den Startlöchern. Deshalb weiß ich eigentlich auch gar nicht wirklich wie ich generell die Navigation anpasse.
Würde gerne das wenn ich - am Beispiel der DEMO - Sachsen anklicke erst dann die Unterpunkte erscheinen und zwar direkt unter Sachsen.

Wenn ich das so mache wie oben beschrieben stehen die Unterkategorien am Schluss der Navigation. Also müsste ich ja nur den Unterkategorienteil, der bei der Demo dabei war, entfernen und den Code der die Unterkategoreien bei Klick öffnet dort einfügen...oder?

Falls dem so sei das ich richtig liege, wo würde ich den überhaupt die Datei finden die ich dies bezüglich ändern müsste?

Danke für jede Antwort...

gruss hawk
hawk
 
Beiträge: 15
Registriert: 5. Dez 2005, 14:36

Beitragvon Thomas.Blum » 5. Dez 2005, 15:19

Hej Hawk,

welche Navigation verwendest du? Nur die vertikal oder die horizontal und die vertikale?

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 hawk » 5. Dez 2005, 17:23

Die Standard bei der Demoversion links - also die vertikale.

Oben unterm banner ist sonst noch die Breadcrumb-Navi - falls das was dazu beiträgt :)

gruss hawk
hawk
 
Beiträge: 15
Registriert: 5. Dez 2005, 14:36

Beitragvon Thomas.Blum » 5. Dez 2005, 17:37

Probier das mal bitte:

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 */
$navLeftCol .= '<ul class="nav1st">';
foreach (OOCategory::getRootCategories() as $lev1) {
      
   if ($lev1->isOnline()):
      if ($lev1->getId() == $path1) {
         $navLeftCol .= '<li class="active"><a class="current" href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';
         if ($lev1->getId() != "1") {
            $sitePath .= ' ›› <a href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';
         }
         $titlePath .= ' >> '.$lev1->getName();
      }
      // 1st level - no active link
      else {
         $navLeftCol .= '<li><a href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';
      }
         
      // 1st level had categories? -> go on
      $lev1Size = sizeof($lev1->getChildren());
   
      if ($lev1Size != "0" AND $lev1->getId() == $path1):
         $navLeftCol .= '<ul class="nav2nd">';


         // START 2nd level categories
         foreach ($lev1->getChildren() as $lev2):
                  
            if ($lev2->isOnline()):
   
            // 2nd level - active link
               if ($lev2->getId() == $path2) {
                  $navLeftCol .= '<li class="active"><a class="current" href="'.$lev2->getUrl().'">'.$lev2->getName().'</a></li>';
                  $sitePath .= ' ›› <a href="'.$lev2->getUrl().'">'.$lev2->getName().'</a>';
                  $titlePath .= ' >> '.$lev2->getName();
               }
               // 2nd level - no active link
               else {
                  $navLeftCol .= '<li><a href="'.$lev2->getUrl().'">'.$lev2->getName().'</a></li>';
               }
         
            endif;         
            
         endforeach;
         // END 2nd level categories
      
         $navLeftCol .= '</ul>';
      endif; // END by if ($lev1Size != "0"):
      
      $navLeftCol .= '</li>';

   endif; // END by if ($lev1->isOnline())
}
$navLeftCol .= '</ul>';
// END 1st level categories

if ($REX['CUR_CLANG'] == 1) $breadcrumb = 'You are here: <a href="/index.php?clang=1">Startpage</a> '.$sitePath;
else $breadcrumb = 'Sie befinden sich hier: <a href="/index.php">Startseite</a> '.$sitePath;


?>


bg 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 Gast » 7. Dez 2005, 09:47

hi
tbaddade erstmal vielen Dank für die schnelle und grandiose Lösung. Wo ich nun noch nicht durchsteige ist die Tatsache, das ich einmal quasi das Standardmenü aus der Demo und eben deine Version so wie ich sie haben möchte untereinande stehen habe.

Also im endeffekt ein doppeltes Menü.

Ich finde den part nur nicht den ich löschen oder ändern muss.

mfg hawk
Gast
 

Beitragvon hawk » 7. Dez 2005, 09:56

so, das Problem mit der doppelten Navi hab ich gelöst... ich wusste nicht, dass das Navigation vertical Template aus der Demo als zweites Template in das default Template mit eingebunden wird.

Hab nun den Code an der richtigen Stelle also im Navi-Template geändert und es funktioniert wunderbar!


Danke

mfg hawk
hawk
 
Beiträge: 15
Registriert: 5. Dez 2005, 14:36

Beitragvon Thomas.Blum » 7. Dez 2005, 09:59

DaNichtFü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

Nächste

Zurück zu Templates/Navigationen [R3]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast