[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Sitemap - Erweiterung - 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/
Benutzeravatar
johannest
Beiträge: 335
Registriert: 24. Aug 2004, 22:11

Sitemap - Erweiterung

9. Nov 2005, 21:00

Hallo,
ich habe hier aus dem Forum diesen Code für eine Sitemap.

Code: Alles auswählen

<?php
echo '<ul class="sitemap">';
foreach (OOCategory::getRootCategories() as $lev1):

   if($lev1->isOnline()):
      echo '<li><a href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';
      
      $lev1Size = sizeof($lev1->getChildren());
      if($lev1Size != "0"):
      echo '<ul>';
      foreach ($lev1->getChildren() as $lev2):

         if ($lev2->isOnline()):
         echo '<li><a href="'.$lev2->getUrl().'">'.$lev2->getName().'</a></li>';
         endif;
      endforeach;
      echo '</ul>';
      endif;
      
      echo '</li>';      
   endif;

endforeach;
echo '</ul>';
?>
Was muss ich nun machen, um den Code so zu erweitern, dass jeweils in den Kategorien noch alle aktiven artikel angezeigt werden?


Danke + Grüße,
Johannes

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

Re: Sitemap - Erweiterung

10. Nov 2005, 08:57

Hej Johannes
johannest hat geschrieben: Was muss ich nun machen, um den Code so zu erweitern, dass jeweils in den Kategorien noch alle aktiven artikel angezeigt werden?
in dem du den folgenden Code verwendest:

Code: Alles auswählen

<?php
echo '<ul class="sitemap">';
foreach (OOCategory::getRootCategories() as $lev1):

	if($lev1->isOnline()):
		echo '<li><a href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';

		// Online-Artikel der Ebene 1 werden mit angezeigt		
		$articlesLev1 = $lev1->getArticles();
		if(is_array($articlesLev1)) {
			print '<ul>';
			foreach ($articlesLev1 as $articleLev1) {
				// Sollen Startartikel angezeigt werden? 
				// Wenn Ja = nächste Zeile Kommentar entfernen und die folgende in Kommentar setzen 
				// if ($articleLev1->isOnline() AND !$articleLev1->isStartPage()) {
				if ($articleLev1->isOnline()) {
					print '<li><a href="'.$articleLev1->getUrl().'">'.$articleLev1->getName().'</a>';
				}
			}
			print '</ul>';
		}
		
		$lev1Size = sizeof($lev1->getChildren());
		if($lev1Size != "0"):
			echo '<ul>';
			foreach ($lev1->getChildren() as $lev2):

				if ($lev2->isOnline()):
					echo '<li><a href="'.$lev2->getUrl().'">'.$lev2->getName().'</a>';
					
					// Online-Artikel der Ebene 2 werden mit angezeigt
					$articlesLev2 = $lev2->getArticles();
					if(is_array($articlesLev2)) {
						print '<ul>';
						foreach ($articlesLev2 as $articleLev2) {
							// Sollen Startartikel angezeigt werden? 
							// Wenn Ja = nächste Zeile Kommentar entfernen und die folgende in Kommentar setzen 
							// if ($articleLev2->isOnline() AND !$articleLev2->isStartPage()) {
							if ($articleLev2->isOnline()) {
								print '<li><a href="'.$articleLev2->getUrl().'">'.$articleLev2->getName().'</a>';
							}
						}
						print '</ul>';
					}
					
					print '</li>';
				endif;
			endforeach;
			echo '</ul>';
		endif;
     
		echo '</li>';     
	endif;

endforeach;
echo '</ul>';
?>
viele Grüße Thomas

corper
Beiträge: 71
Registriert: 20. Mär 2005, 20:37
Wohnort: Mainhatten
Kontaktdaten: ICQ Website

10. Nov 2005, 09:23

tolle sache. ich habe da auch so ein kleines problemchen.

sitemap code:

Code: Alles auswählen

<?php

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

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

	if($lev1->isOnline()):
		echo '<li><a href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';
		
		
		$lev1Size = sizeof($lev1->getChildren());
		if($lev1Size != "0"):
		echo '<ul>';
		foreach ($lev1->getChildren() as $lev2):

			if ($lev2->isOnline()):
			echo '<li><a href="'.$lev2->getUrl().'">'.$lev2->getName().'</a></li>';
			endif;
		endforeach;
		echo '</ul>';
		endif;
		
		
		echo '</li>';		
	endif;

endforeach;
echo '</ul>';

?>
wie sieht der code aus, wenn ich noch die kategorien einer levelebene tiefer anzeigen lassen möchte? ich habs einfach nicht hinbekommen... :oops:

darum gehts:
http://www.equitystories.com/index.php?article_id=8


würde mich riesig freuen, wenn tbaddade da vielleicht ne lösung hätte. :D

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

10. Nov 2005, 10:08

Hej,
corper hat geschrieben:würde mich riesig freuen, wenn tbaddade da vielleicht ne lösung hätte. :D
Klar doch.

Code: Alles auswählen

<?php

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

foreach (OOCategory::getRootCategories() as $lev1):
	
	if($lev1->isOnline()):		
		echo '<li><a href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';

		$lev1Size = sizeof($lev1->getChildren());

		if($lev1Size != "0"):
			echo '<ul>';
			foreach ($lev1->getChildren() as $lev2):

				if ($lev2->isOnline()):
					echo '<li><a href="'.$lev2->getUrl().'">'.$lev2->getName().'</a>';
					
		
					$lev2Size = sizeof($lev2->getChildren());
		
					if($lev2Size != "0"):
						echo '<ul>';
						foreach ($lev2->getChildren() as $lev3):

							if ($lev3->isOnline()):
								echo '<li><a href="'.$lev3->getUrl().'">'.$lev3->getName().'</a></li>';
							endif;
						endforeach;
						echo '</ul>';
					endif;					
					print '</li>';
				endif;
			endforeach;
			echo '</ul>';
		endif;
     
		echo '</li>';     
	endif;

endforeach;
echo '</ul>';
?>
beste Grüße Thomas
Zuletzt geändert von Thomas.Blum am 10. Nov 2005, 10:12, insgesamt 1-mal geändert.

corper
Beiträge: 71
Registriert: 20. Mär 2005, 20:37
Wohnort: Mainhatten
Kontaktdaten: ICQ Website

10. Nov 2005, 10:11

sehr schön. :D vielen dank. funzt einwandfrei...

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

10. Nov 2005, 10:13

corper hat geschrieben:sehr schön. :D vielen dank. funzt einwandfrei...
DaNichtFür

Benutzeravatar
johannest
Beiträge: 335
Registriert: 24. Aug 2004, 22:11

10. Nov 2005, 10:18

bei mir auch! Danke!

Grüße,
Johannes

Livia
Beiträge: 91
Registriert: 16. Jul 2005, 20:30

20. Nov 2005, 17:24

Wow!
funzt perfecto! Super! Dankeschöön :D
Das, worauf es ankommt, können wir nicht vorausberechnen.
Die schönste Freude erlebt man immer da, wo man sie am wenigsten erwartet.

Antoine de Saint - Exupéry

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

21. Nov 2005, 10:35

Bedankt euch nicht bei mir sondern bei Redaxo -> klick auf den Donate-Button

vg Thomas

Zurück zu „Allgemeines [R3]“