Import von Artikelbildern

Moin, bin neu hier und versuche mich gerade am hochladen der Artikelbilder.

Lönsungen per Drag and Drop sind bei über 10000 Fotos nicht zielführend. Manuelle zuweisungen etc. auch nicht.

Ich habe Testweise mal einen Ordner in meinem Verzeichnis erstellt, der nicht im Verzeichnis /media liegt wie hier beschrieben. 

http://community.shopware.com/_detail_915.html

Und dann im Backend die Importfunktion genutzt. 2 Sachen finde ich allerdings merkwürdig. Wieso dauert das so lange und zweitens, wieso generiert bei einem doppelten Upload der Datein doppelte Datenbankeinträge? Die Kombination aus dem Verhalten macht es sehr schwer, die Datenbank und Artikel auf dauer zu pflegen ohne viel Datenmüll zu erhalten. 

Stehe ich irgendwo auf dem Schlauch? Hat jemand Ideen und Lösungsansätzte?

Wozu gibt es dieses Media Center überhaupt? Warum weißt er die URL der Artikelbilder überhaupt selber zu und man kann sie nicht selber in die DB importieren?

 

Danke und Beste Grüße

 

Jack24

Kleine Korrektur: Ich meine es nun so verstanden zu haben, dass das Media-Center aus Performancegründen implementiert wurde.

Kann mir jemand erklären wie dieser Virtual Path generiert wird und wo er gespeichert wird?

Beste Grüße

Hi,

das hängt am MediaService, schau mal hier: MediaService

Letztlich geht es da letztlich weniger um Performance, als um Skalierbarkeit: Der MediService erlaubt dir, das Medien-Verzeichnis über S3, WebDav, FTP oder irgendeinen „richtigen“ CDN anzubinden - so dass du deine Appserver leichter skalieren kannst. 

Dass Shopware „doppelte“ Dateinamen nicht überschreibt, sondern dann bspw. einen Hash dran hängt ist Standardverhalten - letztlich willst du ja beim Hochladen einer Datei nicht jedes Mal überlegen müssen, ob du schonmal eine Datei mit dem Namen hochgeladen hast. In manchen Fällen (wenn man überschreiben möchte), ist das natürlich aber gerade gewünscht, da hast du schon Recht.

Daniel

Okay, Danke für die Antwort. 

Aber wie und erstellt Shopware den virtual Path und wo wird er zugeordnet?

Ich pflege meinen Shop sehr gerne direkt über die Datenbanken und frage mich ob das klappt, wenn ich einfach die Tabellen “media”, “articles” und articles_img" mit den richtigen Daten befülle. Denn in keiner der drei Tabelle finde ich Informationen über diesen Virtual Path mit drei Unterordnern. 

Ich hab noch nicht gegetestet obs klappt, ohne aber irgendwo den Virtual Path hinterlegt zu haben glaube ich nicht das es funktioniert. 

Beste Grüße

Hi,

wie gesagt, das hängt am MediaService, der schreibt / liest die Dateien. Wenn du da rein schaust, siehst du, dass der wiederum ein Strategy-Pattern nutzt, im Standard die MD5-Strategie: \Shopware\Bundle\MediaBundle\Strategy\Md5Strategy

Da kannste sehen, wie der physikalische Pfad ermittelt wird. Grundsätzlich kannst du in deiner Config.php die Strategie auch ändern oder eine eigene erzeugen, wenn du das brauchst. Ich würde das aber eher vermeiden, denke ich.

Ich hoffe, das hilft.

Daniel

als Tipp. Du kannst bei den Import Einstellungen angeben ob ein gleichnamiges Bild erneut angelegt wird (mit Hash dran) oder das bereits vorhandene dem Artikel zugewiesen wird.