Zum Inhalt springen

IMAGE width/heigth ist automatisch 0

Erstellt am 30. Oktober 2013 · 4 Antworten · letzte Antwort am 4. November 2013

Tags: Bilder, TYPO3 6.x, Frage

siebenschlaefer ·

Typoscript Version 6.1.5

Hallo,
eigentlich gehört meine Frage eher in ein Forum für "blutige Anfänger", aber vielleicht kann mir trotzdem jemand eine Antwort geben. Versuche gerade mit dem Buch "Einstieg in Typo3 CMS 6" die ersten Schritte. Wahrscheinlich fehlen mir momentan noch so einige Grundlagen, um mit überraschenden Problemen wie dieses hier klar zu kommen.

Hab eine Seite angelegt und folgenden einfachen Template Code (SETUP) eingegeben:

page = PAGE
page.10 = IMAGE
page.10.file = fileadmin/ressourcen/05_kopfgrafik.jpg

In der Vorschau bleibt aber alles leer, HTML Code sieht so aus:
<img src="fileadmin/ressourcen/05_kopfgrafik.jpg" width="0" height="0" border="0" alt="">

Da es ganz am Anfang (mit 6.1.4.) mal ging (aber nur einmal - eher zufällig), width="" height="" stand da, Bild war sichtbar, steh ich jetzt auf dem Schlauch. Wo kommen die "0" bei width & height her? Wie bekommt man die weg?

Hab den Code dann um eine Zeile erweitert, so wie im Buch beschrieben:
page.10.params = width="900" height="172".
Doch die Vorschau pfeift mir was. Kein Bild. Der HMTL Code ist nun etwas kurios:
<img src="fileadmin/ressourcen/05_kopfgrafik.jpg" width="0" height="0" border="0" width="900" height="172" alt="">
(Lässt width="0" height="0" eiskalt drin und setzt die richtigen Werte nochmals nutzlos dahinter)
Würde ich den eingegebenen Code für params in der online Docu nicht auch so beschrieben vorfinden, so würde ich jetzt an mir zweifeln, aber dort steht es genauso ... *rätsel, rätsel*

Zufällig und nach langem Herumprobieren fand ich heraus, dass folgender, selbst erfundener - und nirgends beschriebener - Code das Bild hervorzaubert:

page = PAGE
page.10 = IMAGE
page.10.file = fileadmin/ressourcen/05_kopfgrafik.jpg
page.10.file.params = width="900" height="172"

Der HTML Code sieht dann allerdings nun etwas ganz anders aus:
<img src="fileadmin/_processed_/csm_05_kopfgrafik_f7c721cb21.jpg" width="900" height="172" border="0" alt="">
(Is jetzt "processed", dafür sind width/heigt="0" verschwunden)

Jetzt weiß ich gar nicht so recht, woran ich bin? Ist der von mir eingebenen Zaubercode der richtige und so neu, dass er noch nirgends auftaucht? Kann man damit leben oder erwarten mich gar noch viele solcher Überraschungen? Für den Anfang eben etwas verwirrend und schwierig, das logisch auf die Reihe zu bekommen.

Danke im Voraus für eine hirnentspannende Antwort ...

Julian.​Hofmann ·

Hallo.

...und willkommen in der TYPO3-Welt :-)

Wenn es Probleme mit Bilder bzw. deren Verarbeitung gibt, ist ein Blick in die Konfiguration vom Grundsystem sinnvoll. Im Install-Tool findens ich einige Einstellungen rund um die Bildverarbeitung, die letztlich vom Server abhängen, und einige Test-Aufrufe, die verschiedene Arten der Bildverarbeitung auf ihre Korrektheit prüfen (bzw. einen Vergleich von Soll-/Ist-Zustand aufzeigen).
Sieht dort alles korrekt aus?

Viele Grüße
Julian

siebenschlaefer ·

Hallo Julian,

erst mal vielen Dank für deine Antwort.
Ich habe mir das nochmal angeschaut, alle Einstellugnen der Bilder (ImageMagick Tests) sind richtig und perfekt (6.1.4 hatte bei den Transparenzen noch Probleme, bei 6.1.5 ist alles ok). Auch alle anderer Einstellung für Bilder [​IMG] scheinen richtig zu sein (so weit ich es beurteilen kann).

Das Problem hier ist für mich jetzt weniger, dass hier in der "Lern- und Übungsphase" das Bild nicht erscheint (sobald man über Inhaltselemente geht, lässt sich alles einstellen und funktioniert auch wie gewünscht), sondern eher, warum verhält sich Typo3 (Typoscript) so anders als in der Online-Docu und auch im (aktuellen Galileo-Lehrbuch) beschrieben? Mir gehts hier eher um ein grundlegendes Verständnis bezüglich Typo-Script.

Bei dem obigen - ja wirklich primitivsten Übungs- - Code soll einfach nur ein Bild mit Hilfe von Typoscript am Bildschirm angezeigt werden. Ich habs einmal gemacht und es ging. Im HTML Code wurden die Parameter width und height mit ="" automatisch gesetzt. Ok .. das ging aber nur ein einziges Mal (sonst wüsste ich das gar nicht). Nach einer Änderung der filestruktur in fileadmin (incl. Typo- und Browser-Cachebereinung etc.), aber auch nach einer Neuinstallation usw., habe ich das nie mehr geschafft. Egal, was ich machte. Schaut mir fast wie ein glücklicher Zufall aus, dass es einmal ging?

1. Von irgendwoher wird nun immer im HTML-Code automatisch width und height mit "0" angegeben (und nicht auf ""). Damit kann das Bild nicht mehr dargestellt werden. Die Frage wäre, wo kommt das her, wenns doch anders funktionieren sollte (und einmal tat)?

2. Aber egal, wenns so ist, soll's gut sein. Nur, wenn ich eine zusätzliche Zeile eingebe mit den params - eben genauso, wie in den Docus beschrieben (!):

page = PAGE
page.10 = IMAGE
page.10.file = fileadmin/ressourcen/05_kopfgrafik.jpg
page.10.params = width="900" height="172"

funktioniert das dann so falsch, dass zwar die Parameter im HTML-Code mit aufgenommen werden (so sollte es ja wohl sein), aber die falschen Parameters ("0") immer noch drin stehen und die richtigen "nur" hinten angehängt werden und damit keinen Einfluss auf die Darstellung des Bildes haben (= Bild weiterhin nicht sichtbar)? Also so:

<img src="fileadmin/ressourcen/05_kopfgrafik.jpg" width="0" height="0" border="0" width="900" height="172" alt="">

Das ist eben absolut unlogisch!
Kann durchaus sein, dass das eine Typoscript-Eigenheit ist. Weiß man es, dann is gut. Kann sein, dass diese Parameter z. B. von ImageMagick übergeben werden und das ggf. unbedeutend ist, weil man vielleicht so, wie in diesem Übungsbeispiel gezeigt, nie in der Praxis arbeiten würde? Mich macht'S halt ein wenig "nervös", weil es so natürlich schwer ist, Tyopscript verstehen lernen zu wollen.

Wenn meine Frage nicht so einfach zu beantworten, wärs auch ok. Irgendwann würde/werde ich dann schon dahinter kommen, schätz ich?

Erst mal liebe Grüße
Der Siebenschläfer - oder so ... 🙂

Julian.​Hofmann ·

Normalerweise verhält sich TYPO3 so, dass es aus dem eingebundenen Bild die Höhe+Breite ermittelt und in die Attribute width und height. Daher hatte es mich stutzig gemacht, wenn bei Dir hier leere Attributwerte rauskommen, und ich hielt es für möglich, dass an der grundsätzlichen Bildbehandlung was nicht stimmt.
Die "params"-Eigenschaft ist normalerweise nicht für Größenangaben gedacht, sondern eher für (css-)Klassen, id-Vergabe etc. Die Eingabe wird hier mehr oder weniger einfach als String übernommen, ohne zu prüfen, ob ein Attribut evtl. schon anderweitig vergeben/erzeugt wurde. Daher ist es auch logisch, dass sich width+height verdoppeln.

Versuch doch mal ein

page = PAGE
page.10 = IMAGE
page.10.file = fileadmin/ressourcen/05_kopfgrafik.jpg
page.10.file.width = 890

Unter der Annahme, dass Dein Bild eigentlich 900px breit ist, würde damit TYPO3 jetzt gezwungen, das Bild neu zu erzeugen - und hoffentlich passende Bilddimensionen in HTML auszugeben.

siebenschlaefer ·

Hallo Julian,

erst mal vielen Dank. Durch deine Antwort ist mir einiges klar geworden. Vor allem, dass es Tyopscript offensichtlich viele (oder viel mehr als beschrieben) Schreibweisen oder Code-Kombinationen gibt, als ich dachte. Damit ist klar(er), was ich da noch alles vor mir hab' (*schreck ... lach*).

Dein Code funktioniert, ebenso wie das, was ich mir in meiner Unwissenheit aus den Fingern gesaugt hatte:

page.10.file.params = width="900" height="172"

In beiden Fällen erscheint das Bild dann mit den richtigen Werten, d. h. in beiden Fällen erzeugt Typo3 das Bild als _processed_ neu.

Merci nochmal!

Liebe Grüße
Der Siebenschläfer