Fehler mit Navigation Horiz - Vertikal

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

Fehler mit Navigation Horiz - Vertikal

Beitragvon sandmaus » 8. Jul 2009, 10:34

Hallo,
ich habe eine geteilte Navigation Level 1 horizontal, Level 2/3 vertikal:

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];
$path4 = $PATH[4];
$path5 = $PATH[5];

// Usertyp festlegen, um Authentifizierung zu ermoeglichen

     $userTyp='0';
     if ($FORM['USR_TYP'] != 0)
     {
     $userTyp = $FORM['USR_TYP'];
     }

     /* START 1st level categories */
     $navHeader .=  '<ul class="nav1st">';
     foreach (OOCategory::getRootCategories() as $lev1) {

     if($lev1->getTypeId()==1 || ($userTyp == $lev1->getTypeId() || $userTyp == 99))
     {

     if ($lev1->isOnline()):
     if ($lev1->getId() == $path1)
     {
     $navHeader .=  '<li class="active"><a class="current"  href="'.$lev1->getUrl().'">'.$lev1->getName().'</a></li>';

     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></li>';
     }
     // 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()):

                         if($lev2->getTypeId()==1 || ($userTyp == $lev2->getTypeId() || $userTyp == 99))
                         {

                         // 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></li>';
                         }
                         // 2st level had categories? -> go on
                         $lev2Size = sizeof($lev2->getChildren());

                         } // ENDE ZUGANGSABFRAGE LEVEL 2

                         if ($lev2->getId() == $path2) {
                         if ($lev2Size != "0"):

                         $navLeftCol .= '<ul class="nav3rd">';
                         //$navLeftCol .= '<li><strong>Unterkategorien2</strong></li>';

                         // START 3nd level categories
                         foreach ($lev2->getChildren() as $lev3):

                         if ($lev3->isOnline()):

                         if($lev3->getTypeId()==1 || ($userTyp == $lev3->getTypeId() || $userTyp == 99))
                         {

                          // 3nd level - active link
                          if ($lev3->getId() == $path3) {
                          $navLeftCol .= '<li class="active"><a class="current" href="'.$lev3->getUrl().'">'.$lev3->getName().'</a>';
                          $sitePath .= ' ›› <a href="'.$lev3->getUrl().'">'.$lev3->getName().'</a>';
                          $titlePath .= ' >> '.$lev3->getName();
                          }

                          // 3nd level - no active link
                          else
                          {
                          $navLeftCol .= '<li><a href="'.$lev3->getUrl().'">'.$lev3->getName().'</a>';
                           }

                           } // ENDE ZUGANGSABFRAGE LEVEL 3

                           endif;
                           $navLeftCol .= '</li>';
                           endforeach;
                           $navLeftCol .= '</ul>';
                            // END 3nd level categories
                           endif;
                           $navLeftCol .= '</li>';

                        }
                        // END 2nd level categories
                        endif; // END by if ($lev1Size != "0"):
                        endforeach;

                        //$navHeader .= '</li>';


     endif;

     if ($navLeftCol != "") $navLeftCol .= '</ul>';
     }
     endif; // END by if ($lev1->isOnline())
}

} // ENDE ZUGANGSABFRAGE LEVEL 1

$navHeader .= '</ul>';

// END 1st level categories
// Auskommendieren Sie sind hier soll nicht angezeigt werden, sondern gleich ab navigation
/*
if ($REX['CUR_CLANG'] == 1) $breadcrumb = 'You are here: <a href="/index.php?clang=1">Startpage</a> '.$sitePath;
else $breadcrumb = 'Sie sind hier: <a href="/index.php">Startseite</a> '.$sitePath;
*/

$breadcrumb = $sitePath;

?>


Leider erhalte ich immer die Fehlermeldung:

Code: Alles auswählen
Fatal error: Call to a member function isOnline() on a non-object in C:\apache2triad\htdocs\www.meindomain.de\redaxo\include\generated\templates\16.template on line 58


Kann es sein, dass das Objekt des 2 Levels nicht erkannt wird?

Vielen Dank für Hinweise
sandmaus
 
Beiträge: 525
Registriert: 27. Apr 2006, 10:26
Wohnort: Dresden

Beitragvon Raffael1981 » 9. Jul 2009, 22:05

hab die navi bei mir probiert ... war problemlos ...

aber warum gehst der fehlerbeschreibung nicht nach im generierten template 16 in zeile 58??
Benutzeravatar
Raffael1981
 
Beiträge: 70
Registriert: 6. Nov 2006, 10:36
Wohnort: 3011 - Irenental


Zurück zu Templates/Navigationen [R3]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron