[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
3er Navi in R4 - 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/
sindy

3er Navi in R4

3. Jan 2008, 14:53

Hallo zusammen,

ich versuche eine 3er Navi einzubauen und habe dafür aus der Demo das Template ID 2 hergenommen. Nur leider stehe ich auf dem Schlauch und komme nicht weiter. Kann mir von euch jemand helfen? Wo mache ich die Fehler? Schon mal ganz lieben Dank vorab!

Liebe Grüße
Sindy :)

Hier mein geänderter Code:

Code: Alles auswählen

<?php
// EXPLODE PATH
$PATH = explode("|",$this->getValue("path").$this->getValue("article_id")."|");

// GET CURRENTS
$path1 = (isset ($PATH[1])) ? $PATH[1] : '';
$path2 = (isset ($PATH[2])) ? $PATH[2] : '';
$path3 = (isset ($PATH[3])) ? $PATH[3] : '';
$sitePath = '';
$titlePath = '';
$navLeftCol = '';
/* START 1st level categories */
$navHeader .= '<ul>';
$navLeftCol .= '<div id="navheight_horiz_vert">';
foreach (OOCategory::getRootCategories() as $lev1) {
		if ($lev1->isOnline()):
		if ($lev1->getId() == $path1) {
			$navHeader .= '<li><a class="current" href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';
			if ($lev1->getId() != "1") {
				$sitePath .= ' ›› <a href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';
			}
			$titlePath .= ' >> '.$lev1->getName();
		}
		// 2nd level - no active link
                // 3nd level - no active link

		else {
			$navHeader .= '<li><a href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';
		}	       
		// 1st level had categories? -> go on 
		$lev1Size = sizeof($lev1->getChildren());
	
		if ($lev1->getId() == $path1) {
		if ($lev1Size != "0"):
			$navLeftCol .= '<ul class="nav1st">';
			$navLeftCol .= '<li>'.$lev1->getName();

			$navLeftCol .= '<ul class="nav2nd">';
                        $navLeftCol .= '<ul class="nav3nd">';

                       // START 2nd level categories 
			foreach ($lev1->getChildren() as $lev2):
						
				if ($lev2->isOnline()):
	
				// 2nd level - active link
					if ($lev2->getId() == $path2) {
						$navLeftCol .= '<li class="active"><a href="'.$lev2->getUrl().'">'.$lev2->getName().'</a></li>';
						$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>';
					}
			
				endif;			
				
			endforeach;
		// END 2nd level categories 
                     
                        // START 3nd level categories 
			foreach ($lev2->getChildren() as $lev3):
						
				if ($lev3->isOnline()):
	
				// 3nd level - active link
					if ($lev3->getId() == $path3) {
						$navLeftCol .= '<li class="active"><a href="'.$lev3->getUrl().'">'.$lev3->getName().'</a></li>';
						$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></li>';
					}
			
				endif;			
				
			endforeach;
			// END 3nd level categories 

			$navLeftCol .= '</ul>';
			$navLeftCol .= '</li></ul>';
		endif; // END by if ($lev1Size != "0"):
		}
		$navHeader .= '</li>';

	endif; // END by if ($lev1->isOnline()) 
}
$navHeader .= '</ul>';
$navLeftCol .= '</div>';
// END 1st level categories 
?>

Benutzeravatar
Peter.Bickel
Beiträge: 1856
Registriert: 25. Jan 2005, 21:17
Wohnort: Schleswig-Holstein
Kontaktdaten: Website

5. Jan 2008, 16:14

Die Navigation wird hier ja in einer Variable gesammelt und nicht automatisch ausgegeben.
Hast Du auch die Ausgabe ins Template geschrieben?

echo $navHeader;
echo $navLeftCol;

Grüße,
Peter.

sindy

5. Jan 2008, 17:00

Hallo Peter,

vielen Dank für deine schnelle Antwort.
Ich habe echo $navHeader; echo $navLeftCol; ins Template eingefügt und festgestellt, dass ich mich komplett verrenne und mich absolut falsch ausdrücke. sorry :oops:
Ich möchte keine dritte Navigation sondern in der Navigation eine dritte Ebene. Da ich mich mit php nicht wirklich auskenne habe ich mir gedacht, das ich die //START 2nd.. nochmal ins Template einfüge und alles auf 3 ändere und die navigations.css dahingehend anpasse. Aber so einfach ist das dann doch nicht. Vielleicht hättest du noch einen Tipp für mich?? Ich bin für alle Ideen offen, wichtig ist für mich, dass ich das verstehe um mich in php einzufuchsen.
Lieben Dank!

Grüße
Sindy

jbauer
Beiträge: 11
Registriert: 4. Jun 2007, 08:35

6. Jan 2008, 16:39

Das gleiche versuche ich als newbie auch gerade erfolglos.
Gibt es bei jemanden schon eine abgeänderte ID2 oder 3 aus Rex 4 für 3 oder 4 Ebenen die funktioniert.? wenn ja, bitte mal zumailen.

Danke

Benutzeravatar
Peter.Bickel
Beiträge: 1856
Registriert: 25. Jan 2005, 21:17
Wohnort: Schleswig-Holstein
Kontaktdaten: Website

6. Jan 2008, 16:44

Nur damit ich Euch richtig verstehe:
Ihr wollt eine Navigation, die die erste Ebene oben horizontal abbildet und dann die 2. bis 4 Ebene links vertikal?

Peter.

jbauer
Beiträge: 11
Registriert: 4. Jun 2007, 08:35

6. Jan 2008, 16:49

Ich versuche gerade die ID3 zu ändern. Also Navigation links für 3-4 ebenen.

Benutzeravatar
Peter.Bickel
Beiträge: 1856
Registriert: 25. Jan 2005, 21:17
Wohnort: Schleswig-Holstein
Kontaktdaten: Website

6. Jan 2008, 17:07

Da eigentlich alle Navigationen aus früheren Redaxo-Versionen auch bei der 4er-Version laufen müssten, könnt Ihr doch mal bei den Downloads/Templates schauen.

Grüße,
Peter.

sindy

6. Jan 2008, 17:15

Hallo Peter,

also ich möchte in der linken Navigation alle Ebenen nach Klick anzeigen lassen.
Ebene 1
>Ebene 1.1
>Ebene 1.1.1

Am Anfang ist nur die Ebene 1 sichtbar. Klickt man dann auf diese Ebene wird Ebene 1.1 sichtbar und klickt man dann auf diese Ebene wird Ebene 1.1.1 auch sichtbar. Also eine Unternavigation von der Unternavigation.

Ich hoffe du kannst meine wirren Sätze nachvollziehen, besser kann ich es nicht erklären.

Lieben Dank!

Grüße
Sindy

Benutzeravatar
Peter.Bickel
Beiträge: 1856
Registriert: 25. Jan 2005, 21:17
Wohnort: Schleswig-Holstein
Kontaktdaten: Website

6. Jan 2008, 17:22

Hallo Sindy,

so verhält sich eine Navigation normalerweise, kein Problem.

Probiert doch mal die Templates im Downloadbereich aus. Da solltet Ihr fündig werden.

Peter.

sindy

6. Jan 2008, 18:25

Hallo Peter,

danke für deine Antwort.
Das die Navi so funktioniert ist mir geläufig, nur funktioniert das nicht bei dem Template in R4 mit der dritten Ebene, aber ich schau mich gleich noch mal im Downloadbereich um.

Lieben Dank für deine Geduld!

Grüße
Sindy

jbauer
Beiträge: 11
Registriert: 4. Jun 2007, 08:35

6. Jan 2008, 19:51

So weit war ich auch schon. Hab die
4-Teilige Navigation
Erzeugt 4 getrennte Navi-Bereiche: - Breadcrumb - Oberkategorien - jeweilige Unterkategorien der aktiven Rootkategorie - jeweilige Artikel der Root oder Unterkategorie

installiert. Navigieren funktioniert. Aber ab der 2. Ebene stimmt die Schriftart und Größe im Navimenue nicht mehr.

Benutzeravatar
Peter.Bickel
Beiträge: 1856
Registriert: 25. Jan 2005, 21:17
Wohnort: Schleswig-Holstein
Kontaktdaten: Website

7. Jan 2008, 09:06

Hi,

das ist kein Problem der Navigation, sondern liegt an Deiner CSS-Formatierung. Die Navi ist im Quellcode mit einer Listendefinition aufgebaut (wie man das heutzutage üblicherweise macht), und da vererben sich Schriftdefinitionen. Bei einer relativen Schriftgröße wird die Schrift also bei jeder Ebene kleiner. Du musst die Formatierung in Deiner CSS-Datei für jede Ebene anpassen.

Peter.

Zurück zu „Allgemeines [R4]“