Drupal 8: Video Einbetten Laden der Reihenfolge der Feldbibliothek für auf Colorbox reagierendes Video

8

Direkt zur eigentlichen Frage:

Was bewirkt, dass Videos bei der Verwendung von Videoeinbettungsfeld und Farbbox reagieren? Basiert es auf der richtigen Ladereihenfolge von JavaScript-Bibliotheken? Oder ist es etwas, das innerhalb des Videoeinbettungs-Videomoduls ausgeführt wird?

Die längere Erklärung / Details zu dem, was ich erreichen möchte:

Ich baue eine Drupal 8-Site, die ein Media-Bundle hat, das wir "cards" nennen. Karten enthalten die folgenden Felder:

  • Titel
  • Bild
  • Hover-Text
  • YouTube-Video

Im Standardzustand sieht ein Benutzer den Titel und das Bild. Beim Überfahren wird der Hover-Text über das Bild gelegt. Beim Klicken sollte das YouTube-Video in ein Colorbox-Modal starten.

Ich verwende die folgenden Module, um dies zu entfernen:

  • Medieneinheit
  • Medienentitätsbild
  • Videoeinbettungsfeld
  • Farbbox

Ich habe das Media Bundle mit den Image-Modulen Media entity und Media entity erstellt. Ich habe ein Video-Einbettungsfeld zum Medienpaket für das YouTube-Videofeld hinzugefügt. In den Anzeigeeinstellungen des Medienpakets habe ich das Videoeinbettungsfeld als Farbbox festgelegt und die Option für Responsive Videos aktiviert.

An diesem Punkt habe ich bestätigt, dass alle meine Felder wie gewünscht gerendert haben. Das YouTube-Video zeigte das Standard-Thumbnail an und das Colorbox-Modal funktionierte perfekt - es wurde auch verkleinert, wenn die verfügbare Breite geringer als die maximale Breite war.

Nun musste ich einige Änderungen vornehmen, um den Titel, den Hover-Text und das Bild als Teil des anklickbaren Bereichs zum Auslösen der Colorbox zu erhalten.

Ich habe eine benutzerdefinierte Zweigvorlage erstellt, um die Anzeige der Karten- / Medieneinheit zu steuern. Ich habe festgestellt, dass das Video-Einbettungsfeld in der Lage ist, die Farbbox basierend auf einer Klasse und einem "Data-Video-Embed-Field-Modal" -Attribut zu starten. Mein Plan war also, diese Struktur neu zu erstellen und die anderen Felder, die ich brauchte, in dieses div einzubetten. Hier ist meine Zweigvorlage:

%Vor%

Alles funktioniert wie vorgesehen, außer dass das Colorbox / YouTube-Video nicht verkleinert wird, wenn die Fensterbreite kleiner ist als die Konfigurationseinstellung für maximale Breite. Wenn ich die Standard-Ausgabe des Video-Eingebetteten Felds zurück zur Zweigvorlage hinzufüge, funktioniert alles ordnungsgemäß. Der Code dafür lautet:

%Vor%

Dies führte mich zu der Annahme, dass die Ladereihenfolge der Bibliotheken das Problem verursacht hat.

Hier ist die Ladereihenfolge, wenn sie richtig funktioniert:

%Vor%

Hier ist die Lade-Reihenfolge, wenn sie nicht funktioniert (dh wenn ich nicht das Standard-Video-Einbetten-Feld-Rendering in der Zweig-Vorlage habe):

%Vor%

Kann jemand bestätigen, dass dies das Problem ist? Wenn ja, wie kann ich die Ladereihenfolge der JS-Dateien ändern? Vielen Dank im Voraus!

    
Pagri 25.01.2017, 22:04
quelle

1 Antwort

1

Ich bin mir bei den Drupal-Sachen nicht sicher, aber vielleicht beantwortet das deine Frage? Video / Iframe-Elemente können einfach mit ein wenig CSS-Tricks reagiert werden, um sie basierend auf ihrem übergeordneten Container vertikal zu skalieren.

%Vor% %Vor%

Siehe dieses Beispiel für ein Beispiel: Ссылка

    
Liam Gray 23.02.2017 00:13
quelle

Tags und Links