ESD (Download) Artikel komfortabler

Wir würden gerne unser altes Shopsystem ablösen, der Programmierer hat Null Zeit (war ein Student) und es fehlen ein paar wichtige Dinge. Da ich Shopware sehr gut finde, hatte ich mir überlegt es damit zu realisieren. Leider ist das nicht ganz so einfach wie erhofft. So würde ich mir für die Download Artikel ein paar komfortablere Optionen wünschen. Aktuell gibt es zum Beispiel keine Vorschau Option (Mp3) Optimal wäre es wenn man einfach die Download in Ordnern auf dem Server verwalten kann. Full/[Bestellnummer].mp3 (.zip) Vorschau/[Bestellnummer].mp3 Dann kann man die Dateien bequem per FTP hochladen und diese wären automatisch mit dem Artikel verknüpft (wenn man den als ESD markiert) Hab das schon als Vorschlag eingereicht, denke das wird aber eher ein Spezialfall bleiben. Konkret geht es um einen Vertrieb für Midifiles und MP3 Dateien. Aktuell sieht es so aus. Ein Titel kann in verschiedenen Versionen bestellt werden. Als Midifile in 4 Versionen, Mp3 in 2 Versionen. Midifile und Mp3 können zusammen mit kleinem Aufpreis bestellt werden. Jede Datei gibt es mit Vorschau (Midi als Download, Mp3 per Mini-Flash-Player). Jeder Titel ist noch mal zwei oder mehreren Kategorien oder Stilen zugeordnet. Es besteht die Möglichkeit das es in Zukunft für alle Titel (fast 20.000) weitere Auswahlmöglichkeiten gibt, da wäre eine einfache Option zur Anpassung natürlich optimal (Variante erstellen, Ordner mit dem Variantennamen bereitstellen, Files reinkopieren, Variante aktivieren :)) Momentan mit der jetzigen Shoplösung, kann ich einfach eine Excel Liste mit den Titeln in die Datenbank importieren. Auf dem Server liegen dann in verschiedenen Verzeichnissen einfach die entsprechenden Versionen als ZIP (Midi-Datei) oder Mp3 Datei. Die Vorschau Versionen funktionieren ebenso. Mit Shopware wie es jetzt funktioniert wäre das wohl ein Riesenakt das so zu erstellen. Vor allem alle Files zu übernehmen, auch zwischenzeitliche Updates mit um die 100 Songs würden wohl zu lang dauern. Denk ich zu kompliziert? Wäre so etwas mit bezahlbarem Aufwand als Plugin machbar?

Moin moin, um die Sache einfach zu halten, würde ich den Download von Shopware trennen und in Shopware nur den Link zum Download verwalten. Um nicht autorisierte Downloads zu unterbinden, sollte ein Downloadlink nur einmalig funktionieren. Dies könnt man realisieren, indem man dem Download-Link ein einmalig vorkommendes Token hinzufügt. Nach erfolgreichem Download merkt man sich in einer Datenbank, daß der Download statt gefunden hat und erlaubt keine Downloads mehr für diesen Token. In Shopware müsstest Du nach erfolgreicher Bestellung den Downloadlink incl. Token erstellen. Die erstellten Tokens speichert man dann in der Shopware-Datenbank. Hierzu müsste man die Shopware-DB ein wenig aufbohren und sich in den Bestellprozess einklinken. Einer der Shopware-Entwickler hat hierfür auf Github ein Beispiel-Plugin bereit gestellt. Für Deine Bedürfnisse müsstes Du es entsprechend anpassen. https://gist.github.com/sthamann/5343247 Um sich in den Bestellprozess einzuklinken musst Du die Methode onSaveOrder modifizieren. Für die Datenbank benötigst zwei Felder. Ein Varchar (oder CHAR) für die generierten Tokens und ein Datumsfeld, welches NULL-Werte erlaubt. In diesem speicherst Du nach erfolgtem Download die aktuelle Uhrzeit. Beim Download fragst Du die Shopware-Tabelle s_order_attributes ab, nach dem übergebenen Token und prüfst, ob im Datumsfeld ein Datum vorhanden ist oder ob es NULL ist. Ist der Wert NULL enthalten, darf der Download statt finden, ansonsten nicht. Ich schätze nen Aufwand für jemanden der sich grob mit Shopware auskennt von ca. 16h. Viele Grüße Fabian