Hallo!
Ich mache meine ersten Schritte mit Shopware und muss gleich Bilder in die Medienbibliothek einfügen. Da habe ich eine passendende Anleitung gefunden. Das funktioniert. Jetzt ist es aber so, dass ich das selbe Bild nicht nochmal mit dieser Funktion einfügen kann und erhalte eine DuplicatedMediaFileNameException. Logisch. Wie kann ich nun anhand des Bildnamens die entsprechende mediaId auslesen, um sie bei meinem Produkt zu benutzen?
Hier mal mein Ansatz:
$criteria = new Criteria();
$criteria->addFilter(new EqualsAnyFilter(‚name‘, [$fileName]));
$media = $this->container->get(‚media.repository‘)->search($criteria, $context)->getElements();
(liefert mir aber die Fehlermeldung: Call to a member function get() on null)
Und wenn ich schon frage: Ich erstelle Artikel per API, weise danach die entsprechenden mediaIds zu (productMediaRepository). kann aber diese Zuweisung erst nach dem Erstellen des Artikels machen. Das wiederum bedingt aber, dass ich die CoverId des Artikels nachträglich anpassen muss. Muss ich dann das entsprechende Artikel-Array mit der ergänzten CoverId nochmal per upsert() einfügen/ändern? Oder gibt es da eine elegantere Lösung?
Grüße und Danke
Jens