[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Hauptnavigation mit Unternavigation (mit Ausnahme) - 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/
miloezger
Beiträge: 29
Registriert: 20. Mai 2009, 10:46

Hauptnavigation mit Unternavigation (mit Ausnahme)

21. Sep 2010, 10:42

Hallo Redaxo Freunde.
Ich stehe vor einer weiteren Hürde.. Evtl. kann mir jemand helfen ? :roll:

Gewünscht ist eine Navigation der Rootkategorien, und Unterkategorien mit einer Ausnahme (auf der Seite mit der id4) soll die Unternavi mit anderen Daten aus einer seperaten Sql Tabelle aufgelistet werden...

Hier mein Script: (gibt aber unter jedem Navipunkt das gleiche aus... wie mache ich eine Abfrage nur in diesem Fall ??)


<?php
// Variablen einlesen
$PATH = explode("|",$this->getValue("path").$this->getValue("article_id")."|");
$path1 = $PATH[1];

// Kategorie auslesen
$currentArt = $this->getValue('article_id');
echo $currentArt;
$navi .= '<ul>';

// Kategorien des ersten Levels auslesen
foreach (OOCategory::getRootCategories() as $lev1) {

// Wenn online dann weiter
if ($lev1->isOnline(true)) {

$navi .= '<li><a href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';


// Wenn id4 dann Speziell
if ($currentArt == "4") {

$navi .= '<ul>';
$navi .= '<li>Hier etwas spezielles ausgeben, aber nur auf der Seite mit der id4</li>';
$navi .= '</ul>';

}


$navi .= '</li>';
}
}
$navi .= '</ul>';
print $navi;
?>

Goldacker
Beiträge: 148
Registriert: 1. Jul 2007, 13:27
Wohnort: Hamburg / Berlin / Neubrandenburg
Kontaktdaten: Website

navifactory

21. Sep 2010, 18:57

ich versteh die frage nicht ganz, aber ein anderer Lösungsansatz wäre auch, die rex navi factory zu nutzen und dann vor der Ausgabe die zeile zu Navipunkt 4 durch etwas eigenes zu ersetzen (str_replace)
Rechtschreibung wird überschätzt, mehr Zeit für Redaxo!

Redaxo-Entwickler >>> www.Jan-Goldacker.de

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

3. Okt 2010, 08:52

Sowas in der Art? (ungetestet)

Code: Alles auswählen

<?php
$PATH = explode("|",$this->getValue("path").$this->getValue("article_id")."|");
$path1 = $PATH[1];
$path2 = $PATH[2];

/* START 1st level categories */
$nav = '
	<ul>';

	foreach (OOCategory::getRootCategories() as $lev1) {

		if ($lev1->isOnline(true)):
			if ($lev1->getId() == $path1) {

			$nav .= '
			<li><a class="selected" href="'.$lev1->getUrl().'">'.htmlspecialchars($lev1->getName()).'</a>';

			} else {

    			$nav .= '
			<li><a href="'.$lev1->getUrl().'">'.htmlspecialchars($lev1->getName()).'</a>';

			}
     

			// 1st level had categories? -> go on
			$lev1Size = sizeof($lev1->getChildren());

			if ($lev1->getId() == $path1 && $lev->getId() != "4") {

    		if ($lev1Size != "0") {

        		$nav .= '
					<ul>';

    	    	// START 2nd level categories
        		foreach ($lev1->getChildren() as $lev2):
         			if ($lev2->isOnline(true)) {

            			if ($lev2->getId() == $path2) {
                			$nav .= '
						<li><a class="active" href="'.$lev2->getUrl().'">'.htmlspecialchars($lev2->getName()).'</a>';
                		} else {
	                		$nav .= '
						<li><a href="'.$lev2->getUrl().'">'.htmlspecialchars($lev2->getName()).'</a>';
        	    		}
        	    		
            			$nav .= '</li>';
        			}
            	endforeach;
	    		// END 2nd level categories
  
    	    	$nav .= '
					</ul>';
			} // END by if ($lev1Size != "0"):

		} else {
		
			$nav .= 'Tue was anderes ...'
		
		}

	$nav .= '</li>';

	endif; // END by if ($lev1->isOnline())
	}
	$nav .= '
	</ul>';
?> 
Grüße,
Peter.

Zurück zu „Allgemeines [R4]“