Shirt-Varianten - Erweiterung der article_variant - zum einfacheren Bildupload

Ich habe schon versucht mit Hilfe von vanilla thunder ein wenig weiter zu kommen. Habe ein - so denke ich - öfters aufkommendes problem:

Ich möchte in meinem shop shirts anbieten. Je Design gibts die natürlich in unterschiedlichen Farben (dzt. als Varianten) und in unterschiedlichen Größen (dzt. bei mir als auswahlliste weil ich kein lagerlimit habe und somit auch nicht jedesmal nachgeladen wird.)

Ich möchte nun ein kleines Modul realisieren mit dem ich diese Varianten einfacher verwalten kann. Zu jeder Shirtfarbe möchte ich OXPIC1 und OXPIC2 direkt bei der Variantenübersicht bearbeiten bzw. uploaden können.

dazu habe ich nun versucht ein Modul zu erstellen, dass die blocks der article_variant.tpl ersetzt und die beiden File-Upload-Felder zur Verfügung stellt. Leider meldet oxid dann einen block-mismatch. da bin ich noch dran.

Unabhängig davon hab ich mal ein wenig mit der article_variant.tpl direkt gespielt. Die Felder reinzubekommen ist ja keine Hexerei. Aber wie mach ich es oxid klar, dass die Files dann wirklich upgeloaded werden? Derzeit schaff ich es maximal dass der Eintrag dann in den Feldern oxarticles__oxpic1 oder 2 drinnen steht. -> ergo natürlich nur ein kartonbild.

muss ich die save() function aus article_pictures.php in die article_variant.php kopieren? oder erweitern?

bzw. wie müssten die felder gekennzeichnet sein? in der article_pictures.php werden die Felder mit “myfile[M1@oxarticles_oxpic1]” benannt.

Soweit so gut. In der article_variant.tpl hab ich mal in die blocks die felder reingesetzt.
Aktuelles Verhalten:

Neue Variante:
Wird eine neue Variante angelegt und ein Bild ausgewählt, wird die Variante gespeichert, das Bild nicht.
Feld:

<input class="editinput" type="file" name="editval[oxarticles__oxpic1]" maxlength="128" size="7"></input>

Aktualisieren von Varianten:
Wenn bei Artikelbild 1 oder 2 ein Bild ausgewählt wird und gespeichert wird, wird zumindest der Eintrag in der Datenbank gemacht, aber kein Bild als solches gespeichert. Ist in einem Feld kein Bild ausgewählt, so wird es aus der DB gelöscht.
Feld (oxpic1):

<input class="editinput" type="file" name="editval[97faae5eaa06802ba6497a88f744433c][oxarticles__oxpic1]" maxlength="128" size="7"></input>