Bilder aus asset Ordner einbinden

Da ich in den Docs nichts dazu finden konnte und der Weg mit Smarty logischerweise nicht mehr funktioniert, frage ich hier. 

Wie kann ich ein Bild aus dem asset Ordner meines Themes einfügen?

Das Bild liegt hier

MeinTemplate/src/Resources/storefront/asset/images/bild.png

Die theme.json hat folgenden Auszug:

"asset": [
    "Resources/storefront/asset"
  ]

Wie binde ich das Foto im Twig template ein?

{{ asset(VAR) }}

Also in deinem Falle bspw.

{{ asset('images/bild.png') }}

Als Image dann natürlich im img tag

Ungetestet, sollte aber gehen glaube ich.

So ähnlich kenne ich es aus Blade, doch das scheint nicht zu funktionieren. Ich bekomme die Ausgabe:

Das Bild wird leider nicht angezeigt.

Ich habe mich damit noch nicht auseiannder gesetzt - Aber Symfony zieht natürlich die Bilder & Dateien aus dem /public Ordner im Root.

https://symfony.com/doc/current/templates.html#linking-to-css-javascript-and-image-assets

Aufgrund der theme.json und 

"asset": [
        "Resources/storefront/asset",
    ]

werden die Dateien kopiert nach /public/theme/xxxxxx

dumpst du bspw. die var file in der foreach aus dem footer, wird der pfad zurück gegeben, bspw. 

 theme/d6c386b4351ffcf73f72daa5fd038f58/js/all.js

Aber wie man jetzt an diese url kommt, ist eine gute Frage. Das weiß ich leider noch nicht, vielleicht jemand anders :slight_smile:

try this

{{ asset('images/bild.png')|sw_encode_url }}

… ach mist, das geht nur für medien die man im theme zuordnet…

The output is the same :frowning:

As i can see, asset() does point to the public directory. But the pictures havent been copied to the public folder. I did try storefront:build. 

Die Bilder werden kopiert, bzw. eben den Pfad den du in deiner theme.json angibst - Nach /public/theme/xxxxxxxxxxx/assets/… 

xxxxxx ist die lange id - Da liegt dann auch das Bild drin. Das gleiche passiert ja auch mit den css/js Dateien usw. Nur muss man halt irgendwie an den pfad „xxxxxxxx“ kommen.

Also in etwa {{ asset(‚theme/xxxxxxxx/assets/images/bild.png‘) }}

[@Michael Telgmann](http://forum.shopware.com/profile/17553/Michael Telgmann „Michael Telgmann“)‍ Hast du eine Lösung ? :slight_smile:

Hallo zusammen,

in unserem PayPal Plugin findet ihr ein Beispiel dafür: SwagPayPal/finish-details.html.twig at master · shopwareLabs/SwagPayPal · GitHub
Der zweite Parameter “@SwagPayPal” sorgt dafür, dass ab dem Verzeichnis “public/bundles/swagpaypal” geschaut wird, wo das asset sich befindet. 

Viele Grüße aus Schöppingen

cool Michael Telgmann

5 Likes

@Michael Telgmann schrieb:

Hallo zusammen,

in unserem PayPal Plugin findet ihr ein Beispiel dafür: https://github.com/shopwareLabs/SwagPayPal/blob/master/src/Resources/views/storefront/page/checkout/finish/finish-details.html.twig#L37
Der zweite Parameter “@SwagPayPal” sorgt dafür, dass ab dem Verzeichnis “public/bundles/swagpaypal” geschaut wird, wo das asset sich befindet. 

Viele Grüße aus Schöppingen

cool Michael Telgmann

Hallo Michael,

was hat es eigentlich mit dem sw_icon ‘{% sw_icon ‘arrow-medium-double-left’ style { ‘size’: ‘fluid’, ‘pack’: ‘solid’} %}’ auf sich? Wie binde ich die ein?