CustomFields Type = Media - Wie Ausgabe im Storefront?

Hello,

im Storefront habe ich lediglich nur Zugriff auf die MediaId. Wie gehe ich am besten damit um?

  1. Twig Funktion: Nachteil wäre jeweils ein DB Query pro Element (in meinem Fall sind es die Produkte und Kategorien)

  2. CMS Resolver extenden: Ist das überhaupt möglich? - Hier auch ein DB Query pro Element oder kann ich das irgendwie in DAL verwursten?

  3. Produkt/Kategorie Entity extenden - Hatte hier schon Probleme da durch zu steigen, aber wahrscheinlich die sinnvollste Lösung oder?

  4. Shopware liefert :wink:

  5. ??? - Bin offen für Vorschläge

LG

Hallo,

um welches Element geht es genau? Wenn du nur die mediaId zur Verfügung hast, gehe ich mal davon aus, dass die Media Assoziation nicht vorhanden ist?

Viele Grüße aus Schöppingen

cool Michael Telgmann

[@Michael Telgmann](http://forum.shopware.com/profile/17553/Michael Telgmann “Michael Telgmann”)‍

Get um ein CustomField Element. Ich kann ja Medien via CustomFields zuweisen, im Storefront bekomme ich dann jedoch nur die ID. In meinem Bsp. ist es ein CustomField zu einem Produkt. Ist es möglich eine Assoziation in diesem Falle zu ergänzen?

Guten Morgen,

Grundsätzlich musst du erstmal dir das Medien Objekt mit Hilfe der ID und dem media_repository selbst holen. Dann hängt es davon ab, wo du das Media Element brauchst: 

  • Brauchst du das media Objekt IMMER? Dann registriere dich auf das sales_channel.product.loaded event.
  • Brauchst du es nur auf der Detailseite? Dann registriere dich auf ProductPageLoadedEvent
  • Brauchst du es nur in dem Listing Element? Dann registriere dich auf das ProductListingResultEvent (Suche, Suggest, Listing inclusive)
  • Brauchst du es in den Produkt Boxen in CMS Seiten? Aktuell nur möglich über sales_channel.product.loaded event.

Viele Grüße aus Schöppingen

cool Michael Telgmann

1 „Gefällt mir“

[@Michael Telgmann](http://forum.shopware.com/profile/17553/Michael Telgmann „Michael Telgmann“)‍

Brauche ich im Listing und in den CMS Produktboxen ;) 

Event hört sich natürlich gut an :stuck_out_tongue:

[@Michael Telgmann](http://forum.shopware.com/profile/17553/Michael Telgmann „Michael Telgmann“)‍ Hallo, ich brauche die Ausgabe auf der Detailseite. 

{{ attribute(product.translated.customFields, ‚mein_custom_field‘)|sw_sanitize }}

 

VG

Amin N.

auf der produktseite wäre es dann " page.product.translated.customFields.mein_custom_field"

1 „Gefällt mir“

@mediaciety‍ Vielen Dank. Jetzt wird aber nur die ID ausgegeben. Mein CustomField ist ein Media-Feld. Wie kann ich den Pfad/Url ausgeben lassen? 

 

Mit Dump bekomme ich auch nur die ID:{{ dump(page.product.translated.customFields) }}

 

je nachdem. dazu wirst du dich per plugin(chen) da 'reinhängen dürfen und entweder das ganze media-objekt aus dem media.repository fischen dürfen, oder nur den URL. dann kommt’s noch drauf an, wo du das ganze benötigst… (ich hatte just gestern eine ganz ähnliche anforderung :D)