Zum Inhalt springen

News system - Media - Audio - Fluid ändern

Erstellt am 10. März 2017 · 3 Antworten · letzte Antwort am 30. Juni 2017

Tags: Fluid, tx_news, TYPO3 7, Frage

alexinge ·

Hallo, ich verwende News System 5.3.2.
Wenn ich eine Audio-Datei (mp3) als Mediendatei einfüge, wird sie als img ausgegeben:
<img src="/fileadmin/mp3/audio.mp3" alt="" title="MP3-news" height="0" width="0">

Ich habe das fluid schon etwas angepasst:
/partials/detail/FalMediaContainer.html:

<f:if condition="{mediaElement.originalResource.type} == 5">
<f:render partial="Detail/FalMediaAudio" arguments="{mediaElement: mediaElement, settings:settings}"/>
</f:if>

Dazu habe ich die Datei im Partials-Verzeichnis FalMediaAudio.html mit zwei Testausgaben erstellt:

<audio controls preload="metadata">
<f:media file="{mediaElement}" />
</audio>
<audio controls preload="metadata">
<source src="{mediaElement}" type="audio/mpeg">
</audio>

Ausgabe:

<audio controls preload="metadata">
<img src="/fileadmin/mp3/audio.mp3" width="0" height="0" alt="" title="MP3-news" />
</audio>
<audio controls preload="metadata">
<source src="GeorgRinger\News\Domain\Model\FileReference:14" type="audio/mpeg">
</audio>

Wie bekomme ich den Pfad der Mediendatei in den Audiopfad?
Viele Grüße
alexinge

ejoo ·

Wählst Du beim Einfügen der Datei explizit Audio aus?
Beim überfliegen der Doku vom News System fällt mir auf, dass (angeblich) die normalen Inhaltselemente unterstützt werden (Built in support for content elements).
Was passiert, wenn Du in einem Testbereich die Datei ausserhalb des News-Kontextes einfügst?

alexinge ·

Hallo,

habe jetzt länger nicht daran gearbeitet. Ich habe es jetzt so gelöst:

<f:if condition="{mediaElement.originalResource.type} == 3">
   <f:render partial="Detail/FalMediaAudio" arguments="{mediaElement: mediaElement}"/>
</f:if>

Partials/Detail/FalMediaAudio.html

<div class="mediaelement" xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers">
   <f:media file="{mediaElement}" />
</div>

Ich würde nur gerne auch noch eine Klasse hinzufügen, damit die Player in allen Browsern gleich aussehen:

	<audio class="mejs__player" controls>
		<f:media file="{mediaElement}" />
	</audio>

Ich muss audio aber im Template weglassen, weil es sonst doppelt gebildet wird.
Dazu muss ich nur noch wissen, wo das zweite audio tag herkommt. ViewHelper?
Viele Grüße!
alexinge

alexinge ·

manchmal ist es so einfach

Partials/Detail/FalMediaAudio.html

<div class="mediaelement" xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers">
<f:media file="{mediaElement}" class="mejs__player" />
</div>