[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Navi mit verschiedenen Klassen - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Havard
Beiträge: 150
Registriert: 20. Jan 2005, 19:59

Navi mit verschiedenen Klassen

17. Aug 2005, 16:23

Hallo, folgendes Problem:
Ich habe diese Navigation auf meiner Seite eingebaut (Redaxo v2.7) - nun will ich auf Version 3 umsteigen, nur wird folgende Fehlermeldung ausgegeben, sofern auf einer Unterseite die 2nd-Level-Navi ausgegeben werden soll:

Code: Alles auswählen

Fatal error: Call to a member function on a non-object in .../cmstest/redaxo/redaxo/include/generated/templates/9.template on line 13
Die Side-Navi wird gar nicht erst ausgeben, sofern man über den Inhalt zu der nächsten Seite gelangt.
kills hat geschrieben:Top-Level-Navi:

Code: Alles auswählen

<?php

$path = explode("-",$this->getValue("path"));
array_shift( $path);
$cat_id = $path[0];

echo '<ul class="navi">';

foreach ( OOCategory::getRootCategories(true) as $oCategory) {
 $name = $oCategory->getName();
 $url = $oCategory->getUrl();
 $cid = $oCategory->getId();
  
 $class = '';
 if ( $cat_id == $cid) {
  $class = 'active';
 }

  echo '<li class="'. $class .'"><a href="'. $url .'">'. $name .'</a></li>';
}

echo '</ul>';

?>
2nd-Level-Navi:

Code: Alles auswählen

<?php

$path = explode("-",$this->getValue("path"));
array_shift( $path);

$cat_id = $path[0];
$subcat_id = $path[1];

$oCurrCat = OOCategory::getCategoryById($cat_id);

echo '<ul class="subnavi">';

foreach ( $oCurrCat->getChildren( true) as $oCategory) {
 $name = $oCategory->getName();
 $url = $oCategory->getUrl();
 $cid = $oCategory->getId();
 
 $class = '';
 if ( $subcat_id == $cid) {
  $class = 'active';
 }

  echo '<li class="'. $class .'"><a href="'. $url .'">'. $name .'</a></li>';
}

echo '</ul>';

?> 
Side-Navi:

Code: Alles auswählen

<?php

$path = explode("-",$this->getValue("path"));
array_shift( $path);

$cat_id = $path[0];
$oCat = OOCategory::getCategoryById($cat_id);
$Articles = $oCat->getArticles( true);

if ( isset( $path[1])) {
  $subcat_id = $path[1];
  $oSubCat = OOCategory::getCategoryById($subcat_id);
  $Articles = array_merge( $Articles, $oSubCat->getArticles( true));
}

echo '<ul class="sidenavi">';

foreach ( $Articles as $oArticle) {
 $name = $oArticle->getName();
 $url = $oArticle->getUrl();
 $cid = $oArticle->getId();
 
 $class = '';
 if ( $subcat_id == $cid) {
  $class = 'active';
 }

  echo '<li class="'. $class .'"><a href="'. $url .'">'. $name .'</a></li>';
}

echo '</ul>';

?> 
Ich hoffe ihr könnt mir helfen - php ist absolut nicht meine Stärke.

Hier kann man die Struktur, so wie sie werden soll, anschauen.

Vielen Dank schon mal.
Liebe Grüße

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

17. Aug 2005, 16:29

Hej,

was ich auf die schnelle gesehen habe ist das:

Dein Code

Code: Alles auswählen

explode("-",$this->getValue("path")); 
Neuer Code

Code: Alles auswählen

$path = explode("|",$this->getValue("path").$this->getValue("article_id")."|");
Wie du siehst wird der Pfad in der Datenbank nicht mehr dur "-" getrennt, sondern durch "|"

Thomas

Havard
Beiträge: 150
Registriert: 20. Jan 2005, 19:59

19. Aug 2005, 13:56

hey,
vielen dank erstmal für den tip: funktioniert teilweise =)

in v2.7 war es bei diesem code so, dass keine unterkategorie erstellt worden sein und/oder online gesetzt werden musste.
nun schmeißt v3 aber genau in einem der obigen fälle die in meiner problembeschreibung geschrieben warnung aus.

was kann ich nun also tun, um dieses problem auch zu lösen?

vielen dank
gruß

Gast

9. Sep 2005, 21:05

tbaddade hat geschrieben:Wie du siehst wird der Pfad in der Datenbank nicht mehr dur "-" getrennt, sondern durch "|"
Danke, auch für mich war das sehr hilfreich. Es steht nämlich in der Doku noch falsch drin... (Beispiel Navigation)

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

12. Sep 2005, 09:03

Hej,
Anonymous hat geschrieben: Danke, auch für mich war das sehr hilfreich. Es steht nämlich in der Doku noch falsch drin... (Beispiel Navigation)
In der Doku steht es wiederum richtig drin, da diese sich auf die Version 27 bezieht und nicht auf die 30. Die Doku für die neue Version wird aber hoffenlicht bald erscheinen.

Thomas

Zurück zu „Allgemeines [R3]“