Navi für eine bestimmte Kategorie + Unterkategorien

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

Navi für eine bestimmte Kategorie + Unterkategorien

Beitragvon Rex-Newbie » 9. Mai 2011, 14:18

Hallo,

ich habe auf meiner Seite im linken Bereich Navigation implementiert, die das wieder gibt, was bei Redaxo unter Main steht. Dies ist auf allen Seiten gleich.
Ich möchte nun für eine Seite auf dieser Homepage eine veränderte Navigation. Auf dieser Seite sollen dann lediglich die Unterkategorien angegeben werden, die bei der Hauptkategorie angelegt sind.

Sprich:
Hauptkategorie --> Test
Unterkategorie --> Test 1
Unterkategorie --> Test 2

Die bisherige Navigation, wie sie auf allen anderen Seite ist:
Neues
Über mich
Bilder
Test

Implementiert habe ich die bisherige Navi wie folgt: <?php echo $navi_main; ?>

Wie kann ich nun sagen, dass ich nur eine bestimmte Kategorie haben möchte?
Rex-Newbie
 
Beiträge: 13
Registriert: 11. Feb 2011, 11:08

Re: Navi für eine bestimmte Kategorie + Unterkategorien

Beitragvon Cheffchen » 9. Mai 2011, 14:26

Hallo,

ich weis zwar nicht wie zu deinem $navi_main kommst aber mit rex_navigation::factory sollte das einfach gehen.
gleich der 3.Block Unternavigation:
http://wiki.redaxo.de/index.php?n=R4.RexNavigation

Cheffchen
Benutzeravatar
Cheffchen
 
Beiträge: 1129
Registriert: 3. Mär 2009, 12:51
Wohnort: Berlin

Re: Navi für eine bestimmte Kategorie + Unterkategorien

Beitragvon Rex-Newbie » 9. Mai 2011, 16:07

Hi,

danke. Kein Plan, wo die $navi_main herkommt ;-) So war's eingetragen. Hab schon etwas rumprobiert allerdings gibt er mir für

Code: Alles auswählen
<?php $rexnav1 = rex_navigation::factory();
echo $rexnav1->get(11,2,FALSE,TRUE);

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

$rexnav2 = rex_navigation::factory();
echo $rexnav2->get($P[11],2,FALSE,TRUE); ?>


die main aus mit Unterkategorie von Hauptkategorie 11. Was ja insoweit richtig ist, da ich auf der Seite von Hauptkategorie 11 diese Navi haben möchte. Allerdings nur die der 11 und nicht die anderen Hauptkategorien.
Rex-Newbie
 
Beiträge: 13
Registriert: 11. Feb 2011, 11:08

Re: Navi für eine bestimmte Kategorie + Unterkategorien

Beitragvon Richard.Laing » 9. Mai 2011, 16:09

hi
für die unternav der kat ID 11 sollte es so gehen.

Code: Alles auswählen
<?php $rexnav = rex_navigation::factory(); echo $rexnav->get(11,1,FALSE,TRUE); ?>


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: Navi für eine bestimmte Kategorie + Unterkategorien

Beitragvon Rex-Newbie » 9. Mai 2011, 16:25

Hi Richy,

das hatte ich, bevor ich hier um Hilfe bat, zuvor auch ausprobiert, allerdings zeigt er mir dann gar nichts an. So, als würde da gar nichts existieren. Aber die Kategorie 11 ist on und auch vorhanden.

Bei dem von Cheffchen angedachten Weg, erscheint zumindest alles, wobei ich allerdings nur die Kat 11 möchte.

Bin etwas ratlos grade...

Das komplette Template sieht wie folgt aus:
Code: Alles auswählen
<?php

setlocale(LC_ALL,"de_DE");

$aid = $this->getValue('article_id');

$path = explode("|",$this->getValue("path").$this->getValue('article_id')."|");
if (isset($path[1])) $path1 = $path[1];
if (isset($path[2])) $path2 = $path[2];
if (isset($path[3])) $path3 = $path[3];
if (isset($path[4])) $path4 = $path[4];
if (isset($path[5])) $path5 = $path[5];

$content = $this->getArticle(1);
$sidebar = $this->getArticle(2);

$content = str_replace(' href="http://', ' onclick="window.open(this.href); return false" href="http://', $content);
$sidebar = str_replace(' href="http://', ' onclick="window.open(this.href); return false" href="http://', $sidebar);

$a = new rex_article();
$a->setArticleId($REX['START_ARTICLE_ID']);
$a->setClang($REX['CUR_CLANG']);

$art = OOArticle::getArticleById($aid);

$header_file = $this->getValue('art_file');
if ($header_file == '') {
   $cat = OOCategory::getCategoryById($art->getCategoryId());
   while ( $header_file == '') {
      if ($cat == null) {
         break;
      }
      $header_file = $cat->getValue('art_file');
      $cat = $cat->getParent();
   }
}
if ($header_file == '')
{
   $header_file = $a->getValue('art_file');
}
$style = '';
if ($header_file != '')
{
   $style = ' style="background-image: url(/files/'.$header_file.');"';
}

if ($sidebar == '')
{
   $sidebar = $a->getArticle(2);
}


header('Content-Type: text/html; charset=iso-8859-1');


?>REX_TEMPLATE[2]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />

   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
   <title><?php print $REX['SERVERNAME'].' - '.$this->getValue('name'); ?></title>
   <base href="http://<?php print $REX['SERVER']; ?>" />

   <meta http-equiv="imagetoolbar" content="no" />
   <meta name="robots" content="index, follow" />
   <meta name="author" content="<?php print $REX['SERVERNAME']; ?>" />
   <meta name="revisit-after" content="30 days" />
   <meta name="language" content="de" />
   <meta name="google-site-verification" content="UEz-iJn5kgGu6p0NxoEDpptEo5-xZn8gmdS8sD6crCU" />
        <link rel="shortcut icon" href="/layout/favicon.ico" type="image/x-icon" />
   <link rel="stylesheet" href="/layout/css/css_basic.css" type="text/css" media="screen, print" />
<link rel="stylesheet" href="/layout/css/mailer.css" type="text/css" media="screen, print" />
   <!--[if lte IE 7]>
      <link rel="stylesheet" href="/layout/css/css_ie_lte_7.css" type="text/css" media="screen" />
   <![endif]-->
         
   <!--[if IE 7]>
      <link rel="stylesheet" href="/layout/css/css_ie_7.css" type="text/css" media="screen" />
   <![endif]-->
   
   <!--[if lte IE 6]>
      <link rel="stylesheet" href="/layout/css/css_ie_lte_6.css" type="text/css" media="screen" />
   <![endif]-->

<link rel="stylesheet" href="/layout/css/fancybox/jquery.fancybox-1.3.1.css" type="text/css" media="screen" />

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script type="text/javascript" src="/layout/css/fancybox/jquery.fancybox-1.3.1.pack.js"></script>
REX_TEMPLATE[3]

<script language="JavaScript">
function toggle(id)
{
  var state = document.getElementById(id).style.display;
  if (state == 'block') {
    document.getElementById(id).style.display = 'none';
  } else {
    document.getElementById(id).style.display = 'block';
  }
}
function aus(id)
{
  document.getElementById(id).style.display = 'none';
}
function an(id)
{
  document.getElementById(id).style.display = 'block';
}
</script>

</head>
<body>
<div id="website">
   
   <div id="header"<?php echo $style; ?>>
      <div id="logo">
         <p><a href="/" title="###backtostartpage###"><?php print $REX['SERVERNAME']; ?></a></p>
      </div>      
   </div>
   
   <div id="wrapper-navi">
         
      <div id="navi-extra">
         <?php echo $navi_extra; ?>
      </div>
      
      <div id="navi-lang">
         <?php
         $lang = '';
         $lang .= '<ul>';
         foreach ($REX['CLANG'] as $key => $val)
         {
            if ($REX['CUR_CLANG'] == $key)
            {
               $lang .= '<li id="clang-'.$key.'"><span>'.$val.'</span></li>';
            }
            else
            {
               $lang .= '<li id="clang-'.$key.'"><a href="'.rex_getUrl('', $key).'">'.$val.'</a></li>';
            }
         }
         $lang .= '</ul>';
         
         echo $lang;
         ?>
      </div>
   </div>

   <div id="wrapper">      

      

      <div id="navi">
      <div class="content">
<br />

<?php $rexnav1 = rex_navigation::factory();
echo $rexnav1->get(11,2,FALSE,TRUE);

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

$rexnav2 = rex_navigation::factory();
echo $rexnav2->get($P[11],2,FALSE,TRUE); ?>



         

         
         <p id="contact">###contact###</p>
      </div>
      </div>

         
      <div id="content">
      <div class="content">
         <?php echo $content; ?>
      </div>
      </div>
            
      
      <div id="sidebar">
      <div class="content">
      
         <div id="srch" class="box">
<br />
         <form id="search" action="<?php echo rex_getUrl(19); ?>" method="post">
            <fieldset>
               <input name="article_id" type="hidden" value="19" />
               <input name="clang" type="hidden" value="<?php echo $REX['CUR_CLANG']; ?>" />
               <p class="form-text">
                  <input class="form-text" id="fsrch" type="text" name="rexsearch" value="###search###" onfocus="if(this.value == '###search###') this.value=''" onblur="if(this.value == '') this.value='###search###'" />
               </p>
            </fieldset>
         </form>
         </div>
         <?php echo $sidebar; ?>
      </div>
      </div>
      
      <div class="clearer"></div>
      
   </div>
   
   <br class="clear" />
</div> <!-- end #website -->

</body>
</html>
Rex-Newbie
 
Beiträge: 13
Registriert: 11. Feb 2011, 11:08

Re: Navi für eine bestimmte Kategorie + Unterkategorien

Beitragvon Richard.Laing » 9. Mai 2011, 16:31

hi
bei dem code den ich gepostst habe werden alle kategorien die unterhalb der ID 11 liegen ausgegeben. (eine ebene tief)
wie ist denn deine struktur aufgebaut?
am besten kurz nen zugnag (admin) für mich anlegen dann schaue ich da gerne mal rein.
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: Navi für eine bestimmte Kategorie + Unterkategorien

Beitragvon Rex-Newbie » 10. Mai 2011, 12:54

Servus,

Zugang kann ich dir leider nicht geben, da es nicht meine Seite ist. Sorry.

Aber die Struktur ist wie folgt in der Strukturverwaltung angelegt:

Homepage
--> Kategorie 1
--> Kategorie 2
--> Kategorie 3
.
.
--> Kategorie 11
------> Kategorie 11.1
------> Kategorie 11.2


Er soll mir auf der Seite von Kategorie 11 halt wirklich nur die Hauptkategorie 11 mit den Unterkategorien angeben, den Rest nicht.
Rex-Newbie
 
Beiträge: 13
Registriert: 11. Feb 2011, 11:08

Re: Navi für eine bestimmte Kategorie + Unterkategorien

Beitragvon Rex-Newbie » 10. Mai 2011, 14:00

Habs jetzt soweit, dass auf der Seite von Kategorie 11 links die Unterkategorien von Kat 11 stehen, aber da müsste oben drüber noch Kategorie 11 stehen, dann wärs toll :-)

Derzeit (die Unterkategorien von Kat 11):

Test 1
Test 2


Mein Wunsch:
Kategorie 11
Test 1
Test 2

Mein Code:
Code: Alles auswählen
<?php $P = explode("|",$this->getValue("path").$this->getValue("article_id")."|");
$rexnav = rex_navigation::factory();
echo $rexnav->get($P[1],0,TRUE,TRUE); ?>
Rex-Newbie
 
Beiträge: 13
Registriert: 11. Feb 2011, 11:08


Zurück zu Templates/Navigationen [R4]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast