bg
APML-Filter

Video-RSS-Items als Nodes in Drupal einbinden

by Gabriele 24. März 2010 22:24

Anforderung: Bei anderem Hoster abgelegte Videos in Drupal als Nodes einbinden und automatisch ein Menü generieren das auf die einzelnen Videoseiten verweist. Video-Hoster ist beispielsweise Youtube. Die Uploads des Eigentümers sind als RSS abonnierbar. Dieser RSS-Feed mit der Adresse http://gdata.youtube.com/feeds/base/users/username/uploads (den Namen des Users klein schreiben) ist der Datenlieferant für die Videoseiten im Drupalsystem.

Module:
http://drupal.org/project/poormanscron immer verwenden, falls kein Zugriff auf Cronjobtabelle des Servers (und unter Windows). In Drupal 7 wird poormanscron fixer Bestandteil sein.
drupal.org/project/cck und
drupal.org/project/emfield: für embedded Videofeld um dem noch neu anzulegenden Contenttypen „Video“ mit dem Embedded Video ausstatten zu können.
drupal.org/project/feedapi: Liest Feeds ein und generiert daraus Nodes
drupal.org/project/feedapi_mapper um die URL des Originalvideos dem Feld Embedded Video zuzuweisen, so dass es im Contenttyp "Video" angezeigt werden kann.
drupal.org/project/views um den Menüblock zu generieren Eventuell die Datei simplepie.inc aus dem Package von http://simplepie.org/ Um simplepie-parsing nutzen zu können, musste ich die Datei "simplepie.inc" unter "sites/all/modules/feedapi/parser_simplepie" ablegen (IIS).

Aktivieren:
Content
Embedded Mediafield
Embedded Video Field
FeedAPI
FeedAPI Node
SimplePie parser
FeedAPI Mapper
Views
Views UI

Schritt 1: Nodetyp "Video" anlegen

Unter Verwalten, Inhaltsverwaltung Inhaltstypen einen neuen Inhaltstypen mit dem Namen "Video" anlegen und speichern. Danach auf Felder verwalten gehen und das Feld "vidadress" hinzufügen "fiels_vidadress", "Embedded Video", "3rd Party Video". "Speichern".

Feld Embedded Video anlegen

Danach die Registerkarte "Felder anzeigen" auswählen. Unter "Felder anzeigen" unterhalb von Bezeichnung <Hidden> angeben und speichern. Damit wird verhindert, dass im Text ein Label für das Feld angezeigt wird.

Anzeige von Label fuer Videofield unterdruecken

Der Inhaltstyp ist nun bereit, die RSS-Daten aufzunehmen und wiederzugeben.

Schritt 2: Den RSS-Feed importieren

Unter "Inhalt erstellen" "Newsfeed" auswählen. Hier braucht es keinen Titel, keinen Menüeintrag und auch keinen Text, sondern nur die URL des Feeds, die Update-Einstellungen, und die Wahl, welche Art Nodes aus den Feedeinträgen gebildet werden sollen. "Video" vereinbaren.

Feed Node fuer Import anlegen

Danach in der Registerkarte "Map" den Feed-Item "options->original_url" mit dem unter "Node" auswählbaren Listeneintrag "Map to videoadresse (emvideo)" verknüpfen und "hinzufügen".

feed mapping

Mit dem Befehl "Refresh" sind die bereits verfügbaren Inhalte des Feeds auch schon als Nodes importiert und zu finden unter "Verwaltung" > "Inhaltsverwaltung" > "Inhalt". Bislang können die Nodes nur von hier aus per Link erreicht werden, denn es fehlen noch die darauf verlinkenden Menüeinträge.

Feeds aktualisieren

Im nächsten Schritt wird ein View für den Menüblock angelegt, dessen Links auf die neu generierten und künftigen Videoseiten verweisen.

Schritt 3: View für Video-Menüblock anlegen

Unter "Verwaltung" > "Seitenstruktur" > "Ansichten" einen neuen View hinzufügen.

Menueblock erzeugen

Auf "Weiter" klicken. Nun ist die Bearbeitungsansicht des Views zu sehen. Unter "Fields" das Plus-Zeichen anklicken, und in der Liste "Defaults: Add fields" nach "Node Title" suchen und auswählen.

Feld Node Title

Bevor das erste Feld für den View ausgewählt ist, taucht mitunter eine Fehlermeldung auf, dass der default-Ansicht noch keine Felder zugeordnet sind, die aber nach dem nächsten Schritt verschwindet. Aus dem Feld "Label" das Wort "Titel" löschen, da die Links keinen Titel anzeigen sollen. Außerdem wird in diesem Arbeitsgang festgelegt, dass das Feld auf seinen Node (die jeweilige Videoseite) linken soll.

Fieldlabel ausblenden

Alle Nodes wären jetzt in diesem Menüblock verlinkt, es sollen aber nur die Videonodes sein. Daher ist im "Filter" noch zu vereinbaren, dass nur auf den Inhaltstypen "Video" verlinkt werden soll. Dazu das Plus neben "Filter" anklicken. Operator "Is one of" ein Häkchen vor "video" setzen und "aktualisieren.

Filter nach Nodetype

Unter "Basic settings" nun als "Style" noch die Option "HTML-Liste" auswählen. Falls gewünscht die Anzahl bei "Anzuzeigende Einträge" auf 0 setzen für unbegrenzt.
Im Dropdownfeld über "Anzeige hinzufügen" Block auswählen und "Anzeige hinzufügen".

blockansicht

Den View nun speichern.

view-einstellungen im ueberblick

Nun zu "Seitenstruktur" > "Blöcke" wechseln. Unter den noch inaktiven Blöcken ist jetzt ein neuer namens "videomenublock: Block". Falls das Menü einen Titel bekommen soll, dann unter "Konfigurieren" als  Blocktitel "Videos" angeben und den Block dann über die Dropdownauswahl in der Region einblenden wo er angezeigt werden soll. Blöcke speichern, und das Videomenü ist da.

Block anzeigen

Tags:

Drupal

Kommentare sind geschlossen

Month List

BlogNetzWerke

Blog Verzeichnis und WebkatalogArtikelverzeichnis, Social Bookmarking, RSS-Verzeichnisfrisch gebloggtBlogPingR.de - Blog Ping-Dienst, BlogmonitorBlogtotalRSS Verzeichnisblogoscoop Blogverzeichnis - Blog Verzeichnis bloggerei.deAdd to Technorati FavoritesWeb Design Blogs - BlogCatalog Blog Directory