Content-Slider auf Newsliste anwenden

von Marco Simbürger

Damit der j_slider funktioniert, muss das j_slider-Template im Seitenlayout eingebunden sein.

Zuerst erstellen Sie das News-Modul "Nachrichtenliste" unter Themes > Module. Die Einstellungen sind grundsätzlich egal. Ich würde jedoch das Nachrichtentemplate "news_latest" empfehlen, damit die News mit Bild und Teasertext angezeigt werden. Am Ende geben Sie dem Modul noch eine Klasse. z.B. news_slider

Als nächstes wechseln Sie zu "Artikel" und fügen Sie beim gewünschten Artikel ein Inhaltselement "Content-Slider (Umschlag Anfang)" ein. Darin dann das Modul "Nachrichtenliste", welches wir vorhin erstellt haben. Anschliessend den Content-Slider mit dem Inhaltselement "Content-Slider (Umschlag Ende)" abschliessen.

So, soweit so gut. Das Problem ist jetzt, dass das ganze Modul "Nachrichtenliste" geladen wird. Der Slider erkennt nur das ganze <div class="mod_newslist"> und nicht die darin enthaltenen News-Einträge mit <div class="layout_latest">.

Darum müssen wir noch das Template "mod_newslist.html5" anpassen, denn dort wird das umschliessende DIV <div class="mod_newslist"> geschrieben.

Wir schreiben eine einfache Überprüfung, ob die Klasse "news_slider" vorhanden ist. Falls ja, lassen wir das DIV  <div class="mod_newslist"> einfach weg.

 

if(strstr($this->class, "news_slider", true)):
	foreach ($this->articles as $article) echo $article;
else:
//die normale Ausgabe
endif;

 

Damit wird bei bei allen Newslist-Modulen, welche die Klasse "news_slider" besitzen, der ganze Block <div class="mod_newslist"> weggelassen und das j_slider JavaScript erkennt die verschiedenen Newseinträge  <div class="layout_latest"> und kann diese somit in den Slider aufnehmen.

Das ganze "mod_newslist.html5" Template noch als Download:

Zurück

Kommentare

Kommentar von Marc |

Hallo Marco,

vielen Dank für das Tutorial und die Idee. Mich würde es aber noch wunder nehmen, wie ich zwei Newseinträge in einem Slid anzeigen könnte.

Gruss, Marc.

Antwort von Marco Simbürger

Hallo Marc

Vielen Dank für deine Nachricht.
Damit du zwei Einträge gleichzeitig "sliden" kannst, musst du jeweils die zwei News-Beiträge in ein separates DIV wrappen. Ich habe dies für dich kurz programmiert: mod_newslist_2.zip

Ich hoffe, ich konnte dir weiterhelfen.

Gruss
Marco

Kommentar von Peter |

Ein super Beitrag. Genau das hatte ich gesucht und nun gefunden. Vielen Dank!!!!

Kommentar von Jochen |

Hallo Marco, wie muss denn das Template für Contao 4.X angepasst werden? Meine versuche es so einzuspielen haben nicht zum Erfolg geführt.

Grüße
Jochen

Antwort von Marco Simbürger

Hallo Jochen

Mit Contao 4 ist diese Anpassung noch einfacher. Im Template mod_newslist.html5 einfach die erste Zeile $this->extend('block_unsearchable'); zu $this->block('block_unsearchable'); ändern. Damit überschreibst Du das umschliessende Element.

Gruss
Marco

Einen Kommentar schreiben

Bitte addieren Sie 2 und 4.