Hallo Gemeinde,
leider sind meine JavaScript-Kenntnisse viel zu rudimentär und von daher komme ich an dieser Stelle nicht weiter.
Folgende Gegebenheiten: Magento 1.9.3, ein Erweiterung mit dem Namen "AjaxCartPopup" (die ich nicht ersetzen kann/darf). Ich möchte über die Individualisierungsoptionen bei einem Produkt dem Kunden den Upload eines Bildes (eine Art Garantiekarte) ermöglichen.
Der Kunde soll NACH dem Hinzufügen zum Warenkorb die Wahl haben, auf der Seite zu bleiben, oder zum Warenkorb zu wechseln.
Der normale "Add-To-Cart"-Button sieht so aus und wurde nicht modifiziert:
<button type="button" title="Add to Cart" id="product-addtocart-button" class="button btn-cart" onclick="productAddToCartForm.submit(this)"><span><span>Add to Cart</span></span></button>
Der Datei-Upload funktioniert, solange die Erweiterung deaktiviert ist, also dann greift der normale "AddToCart", denn es wird direkt weitergeleitet zum Warenkorb.
Aktiviere ich nun aber die Erweiterung, wird ein Popup generiert, in dem der Artikel hinzugfügt wird (im Hintergrund) und Kunde die Möglichkeit hat, entweder auf der Seite zu bleiben, oder zum Warenkorb zu gehen.
Gibt es eine Möglichkeit, das Produkt zum Warenkorb hinzuzufügen (inklusive Dateiupload) und trotzdem auf der Produktseite zu bleiben oder den Kunden nach dem Hinzufügen wieder zum Produkt weiterzuleiten?
Sobald ich "AjaxCartPopup" aktiviere und dann im Frontend auf "In den Warenkorb" klicke, wird das Produkt in den Warenkorb gelegt und es blendet folgendes Fenster über der Produkt-Seite ein:
"productAddToCartForm" ist ein VarienForm-Objekt, auch noch standard. Nur leider wird hier zwar das Produkt in den Warenkorb gelegt, auch mit einigen individuellen Optionen, aber was fehlt, ist der Upload.
Ich denke, dass das Problem hier liegt:
<script type="text/javascript">
//<![CDATA[ thiscartpopup = new cartpopup(); thiscartpopup.product = true; thiscartpopup.backurl = ""; thiscartpopup.backname = ""; thiscartpopup.imageurl = "https://meine-domain.de/media/catalog/product/cache/1/small_image/135x/9df78eab33525d08d6e5fb8d27136e95/placeholder/default/Artikelbild_Platzhalter_Kleines_Bild.jpg"; thiscartpopup.productname = "fghfghfghfg hffgh fgh fghghfghfghfsghfghfghsfghfgh fghsfghfsghfg"; thiscartpopup.showpopup = false; thiscartpopup.emptycart = false; thiscartpopup.cartbutton = "https://meine-domain.de/skin/frontend/base/default/images/ajaxcartpopup/button.gif"; thiscartpopup.carturl = "https://meine-domain.de/kasse/cart/"; thiscartpopup.carttext = "Zum Warenkorb"; thiscartpopup.continueText = "Weiter einkaufen"; thiscartpopup.checkoutbutton = "https://meine-domain.de/skin/frontend/base/default/images/ajaxcartpopup/button.gif"; thiscartpopup.checkouturl = "https://meine-domain.de/onestepcheckout/"; thiscartpopup.ajaxenabled = true; thiscartpopup.slidespeed = 0.3; thiscartpopup.deleteurls = []; thiscartpopup.updateurl = "https://meine-domain.de/kasse/cart/updatePost/"; thiscartpopup.homeurl = "https://meine-domain.de/"; thiscartpopup.showonadd = false; thiscartpopup.autoclose = false; thiscartpopup.autoclosetime = false; thiscartpopup.clickopen = false; thiscartpopup.formKey = 'BlaBla1234BluBlu'; //]]> </script>
Das ist das Popup für den Warenkorb.
Das Problem ist wahrscheinlich, dass hier nur eine Update-Routine eingebaut ist und der Upload da nicht vorgesehen ist (was auch logisch ist, denn bei einem späteren Bearbeiten des Warenkorbs kann nicht sichergestellt werden, dass ein vorher hochgeladenes Bild sich immer noch am gleichen lokalen Ort des Kunden befindet, denn der Kunde könnte den Warenkorb ja von einem ganz anderen Ort bearbeiten).
Wie kann ich dieses Problem lösen?
Kann ich auf irgendeine Art das Bild dennoch in den Warenkorb laden? Wie müsste die Aktion aussehen und wo müsste ich die Einbinden?
Hat jemand einen HTML5-Uploader oder eine andere Möglichkeit des Uploads im Frontend für mich?
Ich bin für jedes Snippet und jede Art von Hilfe dankbar, denn es eilt wirklich sehr.
Viele Grüsse
Thomas