MedienRenderer und MedienHelper in TYPO3 8

Es ist ja bekanntlich inzwischen möglich innerhalb eines Datensatzes bzw eines Inhaltselements auch Videos von YouTube und Vimeo per URL hinzuzufügen. Dieses verhalten wollte ich gerne nachbauen – mit einem Instagram Link.

Ich habe mich dafür der Instagram-Api bedient und lasse damit das Widget für die Instagram-URLs anzeigen.

Wie geht man sowas insgesamt an? Ich habe mir meinen Editor (PhpStorm) geschnappt und habe den TYPO3 Code nach „youtube“ durchsucht. Ich wurde dadurch auf die Resource Renderer und Online Media Helper aufmerksam. Der Online Media Helper ist dafür zuständig das die Bilder erkannt werden, ein Vorschaubild erstellt wird und die Metadaten abgegriffen werden. Der Renderer ist – wie das Wort schon andeutet – für die Darstellung der Medien zuständig.

In diesem Blog gehe ich davon aus, das bereits eine Extension vorhanden ist, welche ergänzt wird.

Machen wir uns also erstmal auf den Weg und machen es möglich Instagram URLs hinzuzufügen. Dazu legen wir in unserer Extension den InstagramHelper an. Ich habe diesen unter „Classes/Resources/OnlineMedia/Helpers/InstagramHelper.php“ abgelegt und folgenden Code eingesetzt:

Im Grunde habe ich alles was mit YouTube zu tun hat gegen den entsprechenden Instagram Code ausgetauscht 😉

Anschließend müssen wir TYPO3 noch sagen wie damit umgegangen werden soll. Dazu fügen wir folgende Zeilen in die „ext_localconf.php“ unserer Extension hinzu:

Wer noch ein „schickes“ Icon im Datei-Manager für Instagram-Links haben will fügt noch folgende Zeilen in seine „ext_localconf.php“ hinzu:

Als Icon habe ich mich einfach an dem Instagram Logo bedient (bspw. aus dem entsprechenden Wikipedia Eintrag).

Nun können wir bereits die entsprechenden Dateien im Backend Dialog hochladen:

Medien nach URL hinzufügen

Nun weiß TYPO3 noch nicht wie es mit der Datei umgehen soll. Dazu erstellen wir nun den InstagramRenderer. Diesen habe ich unter „Classes/Resources/Rendering/InstagramRenderer.php“ angelegt und folgenden Code eingesetzt:

Damit TYPO3 auch von dieser Datei erfährt müssen in der „ext_localconf.php“ noch folgende Zeilen hinzugefügt werden:

Fügen wir zum Beispiel bei einer News ein Instagram Link als Bild hinzu erhalten wir nun folgendes Ergebnis:

Solltet ihr Anregungen haben, wie man das eine oder andere anders Umsetzen kann so meldet euch gerne bei mir 😉

Schreibe einen Kommentar

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