Zum Inhalt springen

Bildbreite im Fluid Template auslesen

Erstellt am 27. Juni 2019 · 1 Antwort · letzte Antwort am 28. Juni 2019

Tags: Fluid, Templates & Layouts, TYPO3 9, Frage

doni ·

Hallo,

ich habe jetzt schon alles mögliche probiert, um an diese Info zu kommen:
{dimensions.width}
{media.width}
{column.dimensions.width}
{data.imagewidth}
{filereference.originalResource.width}
{data.flexform_width}
{page.data.media.width}
{image.imageReference.originalFile.properties.width}
{file.referenceProperties.width}
{fileReference.width}

Das einzigste was geklappt hat war:
{mediaElement.originalResource.originalFile.metaDataProperties.width}

Aber nur wenn ich in der Datei /typo3/sysext/core/Classes/Resource/File.php
protected $metaDataProperties = [];
in das hier ändere:
public $metaDataProperties = [];

Wenn ich das nicht mache, bekomme ich diese Fehlermeldung im FE:
Cannot access protected property TYPO3\CMS\Core\Resource\File::$metaDataProperties

Gibt es eine andere Möglichkeit um an die Bildbreite zu kommen?

Teisinger ·

Vielleicht hilft dir das: (kommt natürlich auch darauf an woher das Bild kommt)

<img src="{f:uri.image(src:'{file.uid}', treatIdAsReference:'1', cropVariant: 'default', height: '{dimensions.height}', maxHeight: '{data.imageheight}', width: '{dimensions.width}', maxWidth: '{data.imagewidth}')}"
                            {f:if(condition: '{data.imagewidth}', then: 'width="{data.imagewidth}"', else: 'width="{dimensions.width}"')}
                            {f:if(condition: '{data.imageheight}', then: 'height="{data.imageheight}"', else: 'height="{dimensions.height}"')}
                            {f:if(condition: '{file.title}', then: 'title="{file.title}"')}
                            {f:if(condition: '{file.alternative}', then: 'alt="{file.alternative}"', else: 'alt=""')}
                        />