breadcrumb

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

breadcrumb

Beitragvon ppoja » 14. Okt 2005, 13:58

Hi -

ich habe in Redaxo 2.7 folgenden Code als Navi-Ergänzung, wo ich mich gerade befinde (breadcrumb) nach dem Beispile Start > Unternehmen > Kontakt.

Nun wollte ich das im Redaxo 3 verwenden und der Code funzt nicht mehr.

Kann mir jemand helfen?

Code: Alles auswählen
<?php

if ($_GET["article_id"] != "") {
// EXPLODE PATH
$PATH = explode("-",$this->getValue("path"));


// GET CURRENTS
if(count($PATH)==1) {
    $MAIN = $PATH[0];
}
else {
    $MAIN = $PATH[1];
    $SUB01  = $PATH[2];
    $SUB02  = $PATH[3];
}


$sitePath = "";

foreach (OOCategory::getRootCategories() as $LEVEL00) {
   if ($LEVEL00->getId() == $MAIN) {
     
     $sitePath .= '<a href="'.$LEVEL00->getUrl().'">'.$LEVEL00->getName().'</a>';
       
      foreach ($LEVEL00->getChildren() as $LEVEL01 ):
         if ($LEVEL01->getId() == $SUB01 )
            $sitePath .= ' &nbsp; &gt; <a href="'.$LEVEL01->getUrl().'">'.$LEVEL01->getName().'</a>';
      endforeach;


   }
}   




// Wenn eine Unterseite gewählt wurde, die nicht die Startseite ist,
// dann SitePath um diese Seite erweitern

// Artikel-Objekt
$artid = OOArticle::getArticleById ($_GET['article_id']);

// Kategorie des gewählten Artikels ermitteln
$kategorie_id = $artid->getCategory ();

// Startartikel dieser Kategorie ermitteln (=Objekt)
$startartikel = $kategorie_id->getStartArticle();

// ID des Startartikels ermitteln
$startartikel_id = $startartikel->getID();


// Wenn der ausgewählte Artikel nicht der Startartikel ist, dann Link anzeigen
if ($_GET['article_id'] !=$startartikel_id) {
$sitePath .= '&nbsp; &gt; <a href="'.$artid->getUrl ().'">'.$artid->getName().'</a>';
}
}
       
?>
            <?
echo $sitePath;
?>
ppoja
 
Beiträge: 18
Registriert: 21. Jul 2005, 18:01
Wohnort: Dresden

Beitragvon Markus.Staab » 14. Okt 2005, 15:04

Hi ppoja,

Ich hab zwar deinen Code jetzt nicht nach Fehlern durchgesehen, aber eine Breadcrumb Navi kann man mit REDAXO 3 ganz einfach realisieren:

Code: Alles auswählen
<?php
    $article = OOArticle::getArticleById($this->getValue('article_id'));
    $tree = $article->getParentTree();

    if ( is_array( $tree))
    {
      $numTree = count( $tree);

      echo "<ul class='breadcrumb'>\n";

      for( $i = 0; $i<$numTree;$i++)
      {
        $art = $tree[ $i];
        $class = ($i -1) == $numTree ? ' class="last"' : '';
        echo "<li". $class .">". $art->toLink() ."</li>\n";
      }

      echo "</ul>\n";
    }
  ?>


Dazu benötigst du die Datei include/classes/ooredaxo.inc.php aus dem CVS.

Das ganze befindet sich jetzt auch auf der Downloadseite für Templates:

Breadcrumb Navigations-Modul

Gruß,
Markus
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9781
Registriert: 29. Jan 2005, 14:50
Wohnort: Aschaffenburg/Germany

Beitragvon ppoja » 14. Okt 2005, 16:49

Hi Markus -

danke für den Tipp. die class.ooredaxo.inc.php ist ja standardmässig mit dabei und irgenwo auch per include eingebunden.

Oder hab ich da was falsch gedeutet?

er meckert mir trotzdem mit

Fatal error: Call to undefined method OOArticle::getParentTree() in C:\apachefriends\xampp\htdocs\ght\redaxo\include\classes\class.article.inc.php(381) : eval()'d code on line 54


hast du noch ne Idee?

Grüsse

ppoja
ppoja
 
Beiträge: 18
Registriert: 21. Jul 2005, 18:01
Wohnort: Dresden

Beitragvon snookie » 15. Okt 2005, 12:16

Jap hast du :)

Code: Alles auswählen
Dazu benötigst du die Datei include/classes/ooredaxo.inc.php aus dem CVS.


Die Version aus dem CVS ist eine andere, als die, die in der Downloadversion vorhanden ist. Dort ist nämlich auch die Funktion OOArticle::getParentTree() vorhanden :)

Also -> Datei aus dem CVS verwenden.
snookie
 
Beiträge: 11
Registriert: 9. Okt 2005, 14:02
Wohnort: Bad Oeynhausen

Beitragvon Markus.Staab » 15. Okt 2005, 12:23

Hi,

snookie hat geschrieben:Die Version aus dem CVS ist eine andere, als die, die in der Downloadversion vorhanden ist. Dort ist nämlich auch die Funktion OOArticle::getParentTree() vorhanden :)

Also -> Datei aus dem CVS verwenden.


jep, genau das ist es...

Wie man das CVS verwendet findest du in der Dokumentation:
http://www.redaxo.de/46-0-ccvs.html

Da du aber nur eine Datei brauchst, kannst du diese ganz einfach via CVS Browserdownloaden.

Die benötigst die neuste Version der include/classes/ooredaxo.inc.php



Gruß,
Markus
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9781
Registriert: 29. Jan 2005, 14:50
Wohnort: Aschaffenburg/Germany

Beitragvon ppoja » 17. Okt 2005, 09:43

Danke für die Post, langsam komm ich dahinter, wo ich was finde.

Aber ich muss jetzt mal ins kleine gehen. Unter include/classes/ gibt es keine ooredaxo.inc.php sondern eine class.ooredaxo.inc.php

Ich bin davon ausgegangen das ihr die meint, die hat aber die Funtion OOArticle::getParentTree() nicht drin in der letzten version 1.18 von vor 4 Wochen.

Also habe ich die Datei ooradaxo.inc.php gesucht, die ich aber nicht gefunden habe.

Könnt ihr mir den final cut geben?

Danke für die Antworten

ppoja
ppoja
 
Beiträge: 18
Registriert: 21. Jul 2005, 18:01
Wohnort: Dresden

Beitragvon Markus.Staab » 17. Okt 2005, 14:42

Hi ppoja

ppoja hat geschrieben:Danke für die Post, langsam komm ich dahinter, wo ich was finde.

Aber ich muss jetzt mal ins kleine gehen. Unter include/classes/ gibt es keine ooredaxo.inc.php sondern eine class.ooredaxo.inc.php

Ich bin davon ausgegangen das ihr die meint, die hat aber die Funtion OOArticle::getParentTree() nicht drin in der letzten version 1.18 von vor 4 Wochen.

Also habe ich die Datei ooradaxo.inc.php gesucht, die ich aber nicht gefunden habe.

Könnt ihr mir den final cut geben?


Sorry, fehler von mir.
Die Datei heisst class.ooarticle.inc.php.

Gruß,
Markus
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9781
Registriert: 29. Jan 2005, 14:50
Wohnort: Aschaffenburg/Germany


Zurück zu Templates/Navigationen [R3]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron