Navigation anpassen

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

Navigation anpassen

Beitragvon Floody » 20. Apr 2011, 13:19

Hallo...

Ich habe folgende Navigation

Code: Alles auswählen
<?php
// Main navigation --------------------------------------------------------------
$nav_main = '<ul>';
foreach (OOCategory::getRootCategories(1) as $lev1) {
   if ($lev1->getId() == $this->getValue(category_id)) {
      $nav_main .= '<li><a href="'.$lev1->getUrl().'" class="active">'.$lev1->getName().'</a></li>';
   }
   else {
      $nav_main .= '<li><a href="'.$lev1->getUrl().'">'.$lev1->getName().'</a></li>';
   }
   if ($lev1->getId() == $this->getValue(category_id)) {
      $article = $lev1->getArticles(1);
      $artSize = sizeof($lev1->getArticles(1));
      if ($artSize > "1") {
         if (is_array($article)) {
            foreach ($article as $var) {
               $articleId = $var->getId();
               $articleName = $var->getName();
               if (!$var->isStartpage()) {
                  if ($articleId == $this->getValue(article_id)) {
                     $nav_main .= '<li class="sub"><a class="active" href="'.rex_getUrl($articleId).'">'.$articleName.'</a></li>';
                  }
                  else {
                     $nav_main .= '<li class="sub"><a href="'.rex_getUrl($articleId).'">'.$articleName.'</a></li>';
                  }
               }
            }
         }
      }
   }
}
$nav_main .= '</ul>';

// Navigation header ------------------------------------------------------------
$nav_header = '<ul>';
$cat = OOCategory::getCategoryById(9,$REX['CUR_CLANG']);
$article = $cat->getArticles(1);
$artSize = sizeof($article);
if ($artSize > "1"){
   if (is_array($article)) {
      foreach ($article as $var) {
         $nav_header .= '<li><a href="'.rex_getUrl($var->getId()).'">'.$var->getName().'</a></li>';
      }
   }
}
$nav_header .= '</ul>';

// Sub navigation ------------------------------------------------------------
$cat = OOCategory::getCategoryById($this->getValue("category_id"),$REX['CUR_CLANG']);
$sub_nav = '<h4>'.$cat->getName().'</h4>';
$sub_nav .= '<ul>';
$article = $cat->getArticles(1);
$artSize = sizeof($article);
if ($artSize > "1"){
   if (is_array($article)) {
      foreach ($article as $var) {
         if ($var->getId() == $this->getValue(article_id)) {
            $sub_nav .= '<li class="active"><a href="'.rex_getUrl($var->getId()).'">'.$var->getName().'</a></li>';
         }
         else {
            $sub_nav .= '<li><a href="'.rex_getUrl($var->getId()).'">'.$var->getName().'</a></li>';
         }
      }
   }
}
$sub_nav .= '</ul>';
?>


Das Problem für mich ist, dass

Die Artikelnamen in einer Kategorie (bei status online) als eigener Reiter angezeigt werden.

Was möchte ich...

Ich möchte in der Navigation nur die Kategorien der 1. Ordnung angezeigt bekommen, wenn der Status online gesetzt ist.

Im Template wir dann das Submenü erstellt
hier der Code

Code: Alles auswählen
<?php
   $navTemplate = new rex_template(2);
   include $navTemplate->getFile();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
   <base href="http://www.XXX.de/" />
   <title><?php echo $REX['SERVERNAME'] ?></title>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
   <meta name="description" content="<?php echo $this->getValue("description"); ?>" />
   <meta name="keywords" content="<?php echo $this->getValue("keywords"); ?>" />
   <meta name="copyright" content="<?php echo $REX['SERVERNAME']; ?>" />
   <meta name="revisit" content="After 7 days" />
   <link rel="stylesheet" type="text/css" href="template/css/layout.css" media="screen" />
   <link rel="stylesheet" type="text/css" href="template/css/main.css" media="screen" />


   </head>
<body>
   <div id="page">
      <?php $rand = rand(1,3)?>
         <div id="header" style="background:url(template/img/header<?php echo $rand; ?>.jpg) no-repeat;">
         <div id="service">
            <?php echo $nav_header; ?>
         </div>
         <div id="logo">
            <a href="/"></a>
         </div>
          </div>
      <div id="main">
           <div id="menu">
               <?php echo $nav_main; ?>
           </div>
           <div id="content">
                 <div id="submenu">
                  <?php echo $sub_nav; ?>
                 </div>           
              <?php echo $this->getArticle(); ?>
           </div>
      </div>
      <div id="footer">
         &copy; <?php echo date ("Y",time()); ?> | <?php echo $REX['SERVERNAME']; ?>
      </div>
   </div>
</body>
</html>


Das Submenü soll dann die Kategorien der zweiten Ordnung anzeigen, wenn diese auf den Status online gesetzt werden...

Nun meine bitte an euch:

Was muß ich genau ändern, damit das funktioniert... Komme einfach nicht weiter...
Danke schon mal im vorraus

Ps. Redaxo 4.2.1 ist auf dem Server...
Floody
 
Beiträge: 75
Registriert: 18. Feb 2007, 23:41

Re: Navigation anpassen

Beitragvon Richard.Laing » 20. Apr 2011, 13:47

hi floody
wenn ich dich richtig verstanden habe
sollte das deine lösung sein, jeweils im template an der stelle einfügen wo die nav erscheinen soll.
hauptnavigation erste ebene
Code: Alles auswählen
<?php $rexnav = rex_navigation::factory(); echo $rexnav->get(0,1,FALSE,TRUE); ?>

unternavigation der aktiven ebene:
Code: Alles auswählen
<?php $P = explode("|",$this->getValue("path").$this->getValue("article_id")."|"); $rexnav = rex_navigation::factory(); echo $rexnav->get($P[1],3,TRUE,TRUE); ?>


und das war es schon.
gruß richy
REXvideo Videotutorials für Redaxo www.REXvideo.de
Webseite www.on-laing.de smokezig.de www.smokezig.de
Benutzeravatar
Richard.Laing
 
Beiträge: 2109
Registriert: 27. Aug 2005, 23:55
Wohnort: Brühl / Rheinland

Re: Navigation anpassen

Beitragvon Floody » 20. Apr 2011, 13:56

Hallo...
Danke für die schnelle Antwort...

Das, was du geschrieben hast, dass sieht ganz gut aus, jedoch habe ich ein fertiges Template und die Navigation dazu, die ich oben ja auch eingefügt habe und diese würde ich einfach nur gerne anpassen...

Danke für die Hilfe...

Liebe Grüße
Floody
 
Beiträge: 75
Registriert: 18. Feb 2007, 23:41


Zurück zu Templates/Navigationen [R4]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast