2017-08-29 4 views
0

Dans le contexte de EXT:blog (ce qui peut être ou ne pas être pertinent) sur TYPO3 8.7 J'ai ajouté une vidéo YouTube sous Ressources> Fichiers> Média> Ajouter un média par l'URL. Cela entraîne une référence à un fichier .youtube.Comment diffuser une vidéo YouTube avec EXT: blog à partir des ressources d'une page dans Fluid?

Dans List\Post.html, un modèle fluide qui remplace l » Post.htmlEXT:blog, je reçois un accès au tableau post.media. post.media contient un FileReference. Lors du rendu en utilisant <f:image src="thatreference.uid" treatIdAsReference="1" .../> j'obtiens la vignette de la vidéo.

Comment puis-je déterminer si une entrée post.media fait référence à une vidéo YouTube et comment puis-je rendre cette vidéo au lieu de l'image miniature? Je n'ai pas trouvé de propriétés utiles sur ce FileReference (tel que le type de média ou l'ID de vidéo YouTube) pour le moment. Ai-je besoin d'emprunter une autre route?

Répondre

1

Media, y compris des images et des vidéos, peut être sortie en utilisant le f:media ViewHelper:

<f:media file="{thatreference}" width="400" height="375"/> 

Pour déterminer les ressources utilisation du type de support {thatreference.originalResource.originalFile.type}. Une valeur de 4 supports pour la vidéo, 2 représente les images:

<f:if condition="{thatreference.originalResource.originalFile.type} == 4">…</f:if> 

L'URL YouTube d'origine peut être lu à partir {thatreference.originalResource.publicUrl} et diverses autres propriétés telles que les dimensions de prévisualisation (utiles pour le calcul de ratio d'aspect) de {thatreference.originalResource.properties}.

+0

J'ai décidé d'ajouter ma propre réponse, un peu plus complète, mais les références à «f: media» m'ont orienté dans la bonne direction. Merci! –

1

Il suffit d'utiliser <f:media /> qui produit tous les types de médias, y compris des vidéos sur youtube

1

Vous pouvez faire comme ça. Pour plus de détails f:media.

Vous pouvez obtenir votre chemin de fichier comme celui-ci {thatreference.originalResource.publicUrl}

<f:media file="{your file path}" width="400" height="375" additionalConfig="{loop: '1', autoplay: '1'}" />