[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Artikel aus mehreren Kategorien nach Datum - 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/
mmh
Beiträge: 118
Registriert: 17. Apr 2012, 13:20

Artikel aus mehreren Kategorien nach Datum

17. Jun 2016, 11:27

Hallo zusammen,
an einigen Modulen die Inhalte aus Metadaten nach bestimmten Datumsgrenzen ausgeben sollen.
Genau geht es um einen Fotogalerie. Jeden Monat wird ein neues Bild veröffentlicht.

Das Modul "Hero" soll immer das neueste Bild nebst Titel zeigen.

Das Modul "Fotos aktuell" soll alle Fotos des aktuellen Jahres auflisten.

Das Modul "Fotos Archiv" soll die Fotos der letzten Jahre (es existieren schon Daten von 10 Jahren) in einem jquery Accordion nach Jahren sortiert anzeigen.

Wenn ich jetzt alle Artikel in eine Kateogrie lege, bin ich aktuell schon bei 120 Artikeln, ich weiß gar nicht, ob Redaxo das kann und falls ja, finde ich es trotzdem ziemlich unübersichtlich. Außerdem wüsste ich nicht wie ich "Fotos Archiv" automatisieren soll.

Für das "Foto Archiv" habe ich mir überlegt, Alle Artikel in Kategorien nach Jahren anzulegen. Das Modul liest dann die Kategorien aus, legt ein Tab für jede Kategorie (2015, 2014, 2013, etc.) an und platziert dort die Artikel. Jetzt weiß ich aber nicht mehr, wie ich an den jeweils neuesten Eintrag aller Kateogiren für das Modul Hero komme, und auch nicht, wie ich die Bilder des Aktuellen Jahres in "Fotos aktuell" bekomme ???

Ich hoffe ich habe mich verständlich ausgedrückt?

Danke und Grüße
Marco

mmh
Beiträge: 118
Registriert: 17. Apr 2012, 13:20

Re: Artikel aus mehreren Kategorien nach Datum

17. Jun 2016, 14:01

Manchmal funktioniert es auch mit TAE :twisted:

Hiermit lese ich alle Artikel der Hauptkategorie (inklusive aller Unterkategorien) aus, drehe die Reihenfolge um und gebe die 3 neusten Artikle für das Modul Hero aus:

Code: Alles auswählen

    <?php
	// Elternkategorie definieren
	$category = rex_category::get(8);
	// Kinder auswählen
	$category_childs = $category->getChildren();
	// Array Reihenfolge umsortieren
	$category_childs_reverse = array_reverse($category_childs);	    
	// Zähler reset
	$i = 0;
	// Kategrie Array auslesen
	foreach ($category_childs_reverse as $category_child) {
		// Artikel auswählen
		$articles = $category_child->getArticles();
		// Array Reihenfolge umsortieren
		$articles_reverse =array_reverse($articles);
		// Artikel Array auslesen
		foreach ($articles_reverse as $article) {
			// Artikelname definieren
			$article_name = $article->getValue('name');
			// Schleife nur 3mal durchlaufen
			if ($i<3) {
			// Artikelname ausgeben				
			echo $article_name.'<br>';
			}
			// Zähler +1
			$i++;
		}
	}
	?>

Hiermit gebe ich alle Artikel der neusten Unterkategorie in umgekehrter Reihenfolge für das Modul "Fotos aktuell" aus

Code: Alles auswählen

    <?php
	// Elternkategorie definieren
	$category = rex_category::get(8);
	// Kinder auswählen
	$category_childs = $category->getChildren();
	// Array Reihenfolge umsortieren
	$category_childs_reverse = array_reverse($category_childs);	    
	// Zähler reset
	$i = 0;
	// Kategrie Array auslesen
	foreach ($category_childs_reverse as $category_child) {
		// Schleife nur einmal durchlaufen
		if ($i<1) {
			//Kateogirename auslesen				
			$cat_name = $category_child->getName();
			//Kateogirename ausgeben
			echo '<br>'.$cat_name.'<br>';
			//Artikel auswählen
			$articles = $category_child->getArticles();		
			// Artikel Array auslesen
			foreach ($articles as $article) {
				//Artikelname definieren
				$article_name = $article->getValue('name');
				//Artikelname ausgeben
				echo $article_name.'<br>';
			}
		}
		//Zähler +1
		$i++;
	}
	?>

Und hiermit gebe ich alle Unterkategorien (außer der ersten) in umgekehrter Reihenfolge aus

Code: Alles auswählen

    <?php
	// Elternkategorie definieren
	$category = rex_category::get(8);
	// Kinder auswählen
	$category_childs = $category->getChildren();
	// Array Reihenfolge umsortieren
	$category_childs_reverse = array_reverse($category_childs);
	// Zähler reset
	$i = 0;
	// Kategrie Array auslesen
	foreach ($category_childs_reverse as $category_child) {
		// Schleife nur einmal durchlaufen
		if ($i>0) {
			//Kateogirename auslesen				
			$cat_name = $category_child->getName();
			//Kateogirename ausgeben
			echo '<br>'.$cat_name.'<br>';
			//Artikel auswählen
			$articles = $category_child->getArticles();		
			// Artikel Array auslesen
			foreach ($articles as $article) {
				//Artikelname definieren
				$article_name = $article->getValue('name');
				//Artikelname ausgeben
				echo $article_name.'<br>';
			}
		}
		//Zähler +1
		$i++;
	}
	?>
:?:
Frage: Ist da irgendwo ein grober Schnitzer drin der mir im Moment nicht auffällt?
Geht es an irgendeiner Stelle eleganter (gerade was das sortieren und Zählen angeht)?
Und vor allem: Warum bekomme ich mit $category->getChildren(); alle Artikel aller Child-Kategorien?
Ich meine, es kommt mir ja zu Gute, aber ich dachte es werden nur die Child-Kategorien und nicht deren Artikel ausgegeben. Nicht dass das ein Bug ist und mein Modul nur bis zum nächsten Update funktioniert ;-)

Zurück zu „Module/Aktionen [R5]“