Ausgabe eines Bildes in der Listenkonfiguration failed
Olli opened this issue · 8 comments
Context
Contao version: 4.9.7
Bundle version: 1.25.0
PHP version: 7.4
Description
Ich möchte beim Auflisten ein Bild ausgeben und habe dafür in der Listenkonfiguration ein Konfigurationselement von Typ "Bild" angelegt.
Ich habe eine Bildgröße ausgewählt und keinen Platzhaltermodus gewählt.
Bei der Frontendausgabe kommt folgendes:
2020-09-28 13:20:11] request.CRITICAL: Uncaught PHP Exception Error: "Only variables can be passed by reference" at /*/vendor/heimrichhannot/contao-list-bundle/src/ConfigElementType/ImageConfigElementType.php line 153 {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\FatalThrowableError(code: 0): Only variables can be passed by reference at /*/vendor/heimrichhannot/contao-list-bundle/src/ConfigElementType/ImageConfigElementType.php:153)"} []
Was steht in ImageConfigElement.php
im List-Bundle vor Zeile 152 in $templateData[$templateContainer][$templateVariable]
, bevor der Fehler geworfen wird?
Ich kann es jetzt nicht 1:1 Debuggen weil mein lokales Devsystem nicht gesynct ist mit dem Projekt. Aber die Bedingungen sind nahezu gleich außer dass im Devsystem alles Debugging an ist.
Zumindest bricht es im DevSystem in der Zeile 150 schon weg mit Warning: Illegal string offset 'teaser_image'.
teaser_image heißt die Spalte in der Datenbank.
Kann es sein, dass du die templateContainerVariable
am Listen-Konfig-Element gesetzt hast und zwar mit einem einem String, der heißt, wie ein Feld?
Du kannst die templateContainerVariable auch leer lassen, dann ist sie "images". Wenn es daran liegt, baue ich noch etwas mehr Erklärung ein ;-)
Ich glaube, das Problem ist, dass du ein Feld hast, welches "images" heißt in tl_buehnen. Die Variable ist schon belegt. Kannst du bitte in deinem Listen-Konfig-Element "Template-Container-Variable überschreiben" anklicken und dort dann bspw. images2 eintragen und dann in deinem Template das ganze wiefolgt ausgeben:
{% if images2|default and images2.teaser_image|default %}
{{ include('@HeimrichHannotContaoUtils/image.html.twig', images2.teaser_image) }}
{% endif %}
Dann müsste es gehen.
Leider ist die Doku an dem Punkt dünn. Das holen wir auf jeden Fall nach.
Schaue bitte mal, ob es so geht.
Ich habe mal die README.md erweitert. Jetzt müsste es verständlicher sein :-)
Danke. Funkzt. Der Logeintrag war auch gut.