Podlove-Templates mit Twig (1): Einführung und erste Schritte

Viele Podcasterinnen in meiner Bubble nutzen das WordPress-Plugin Podlove, um ihre Podcasts ins Netz zu bringen. Dabei gibt es letztlich zwei Herausforderungen: 1. Podlove überhaupt erstmal ans Laufen bekommen und 2. anschließend dafür sorgen, dass Dein Podcast auch noch gut aussieht dabei.

Mit Teil 1 werde ich mich hier auch noch eingehend beschäftigen und dazu einige Tipps geben. In dieser Artikelreihe soll es um den zweiten Aspekt gehen, denn damit beschäftige ich mich gerade relativ eingehend. Also nehme ich Euch mit auf meine Reise, denn im Podlove-Projekt ist das alles traditionell mies dokumentiert.

Das Entwicklerteam hat sich entschieden, Templates mit Twig zu erstellen. Das ist eine vergleichsweise einfache Programmiersprache, für die es zwar diverse Tutorials gibt. Diese Tutorials setzen aber auf der Entwicklerebene an und sind für mich einigermaßen nutzlos.

Nahezu jeder Datenpunkt Deines Podcasts und seiner Staffeln und Episoden ist für uns über Twig-Variablen nutzbar. Wir können damit Templates erstellen, die diese Datenpunkte dynamisch anzeigen.

Wofür ist das denn überhaupt gut?

Ungefähr alles was in Podlove mit der Darstellung podcastrelevanter Daten zu tun hat, wird über Templates realisiert. Das beginnt beim Webplayer und hört bei den Teilnehmerinnen noch lange nicht auf. Es gibt dafür diverse vordefinierte Shortcodes, die wir für diese Zwecke nutzen können. Die tun grundsätzlich das was draufsteht, die Ergebnisse sehen aber maximal kacke aus. Deswegen ist mein Ansatz diese Elemente per Hand nachzubauen und zu erweitern, damit es gut aussieht.

Nun habe ich weder Erfahrung in Design noch in Programmierung, insofern wird die Nummer ein ziemliches Abenteuer für uns alle. Also los!

Grundlagen

Die Template Tags werden mit zwei geschweiften Klammern {{ }} eingebunden, if- oder for-Schleifen mit einer geschweiften Klammer und dem Prozentzeichen {% %} und Kommentare mit geschweifter Klammer und der Raute {# #}.

Wir beginnen mit etwas Einfachem und gestalten die EInbindung des Players in der Episode. Das Ziel ist es, die Zusammenfassung der Episode als erstes und danach den Player einzubinden. Das soll später unser Template werden das Podlove automatisch am oberen Ende unserer Episode einfügt.

Was tun wir?

Als erstes legen wir uns ein neues Template an. Im WordPress-Backend klicken wir dazu auf Podlove|Templates und dann unten links auf „Neues Template erstellen“. Danach müssen wir als erstes einen Namen vergeben, wählen wir doch „Player“.

1. Neues Template anlegen, 2. Namen vergeben, 3. Speichern

In dem großen Textfeld beginnen wir nun mit der Arbeit. Als erstes soll die Zusammenfassung der Episode stehen, das erreichen wir mit

{{ episode.summary }}

„episode“ indiziert dabei, dass wir eine Eigenschaft derjenigen Episode ansprechen möchten, in die das Template jeweils eingebunden wird. Analog gibt es auch podcast.summary, das bringt uns hier allerdings nichts.

Wir können in diesem Feld auch HTML und CSS verwenden und die Zusammenfassung der Episode layouten, wenn uns der Sinn danach steht. Um es hier möglichst einfach zu halten, sehe ich zunächst davon ab. Dazu kommen wir später noch.

Als nächstes nun soll der Player stehen:

{{ episode.summary }}
{{ episode.player }}

Das reicht eigentlich schon, so können wir das Template speichern und automatisch einfügen lassen. Dazu klicken wir unten zunächst auf „Änderungen speichern“, damit WordPress merkt, dass es nun ein neues Template gibt, und wählen dann unser neues Template aus.

Der Haken daran

Wenn Du Podlove angewiesen hast, den HTML-Teil Deiner Episode auch in den Feed zu schicken, dann wird auch im Podcatcher Deiner Hörerin nun ein Player auftauchen. Das können wir mit unserer ersten if-Schleife verhindern:

{% if not is_feed() %}
   {{ episode.summary }}
   {{ episode.player }} 
{% endif %}

Damit fragen wir eine WordPress-Variable ab und sagen sinngemäß: „Wenn das hier nicht im Feed angezeigt wird, tue dies.“ Da wir nichts anderes definiert haben, passiert im Feed selbst nichts außergewöhnliches. Das gibt uns die Möglichkeit, Dinge im auch explizit nur im Podcastfeed erscheinen zu lassen. Aber das ist etwas für einen anderen Teil dieser Reihe.

In teil zwei wird es um Angaben zur Dauer und dem Veröffentlichungsdatum gehen. Dabei beschäftigen wir uns mit Variablen und vertiefen das Thema if-Schleifen.

2 Kommentare

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert