ich entwickle zurzeit ein Modul für den OXID eShop, durch das bei einem Klick auf einen Button im Warenkorb ein XML-String generiert werden, und per HTTP-POST an eine URL versendet werden soll.
Das funktioniert inzwischen auch alles soweit, allerdings habe ich das Problem, dass das XML jedes Mal neu generiert wird wenn der Warenkorb geöffnet oder aktualisiert wird.
Mir ist klar dass auf diese Art und Weise bei jedem Aufruf des Warenkorbs der komplette Inhalt durch Smarty gerendert wird.
Wie kann ich es erreichen, dass erst beim Klick auf den Button das XML generiert, und der Nutzer trotzdem an die unter action angegebene URL weitergeleitet und das XML per POST gesendet wird?
Ich habe bereits einige Stunden hier im Forum nach Lösungen gesucht und kam zu dem Ergebnis dass es irgendwie mit JavaScript und Ajax zu realisieren sein müsste. Allerdings reichen meine (quasi nicht vorhandenen) JavaScript Kenntnisse nicht aus um einen Weg zu finden wie ich überhaupt anfangen kann.
class punchme extends punchme_parent
{
public function getPunchOutOrderMessage()
{
$generiereURL= $wasauchimmer;
oxRegistry::getUtils()->redirect($generiereURL, false);
}
}
“punchme” als Bsp. für eine eigene Klasse. Wenn Du eine bestehende Klasse erweitert hast, passe cl entsprechend an.
Erst einmal (wenn auch wegen der Feiertage etwas verspätet) vielen Dank für deinen Tipp.
Mit deinem Vorschlag habe ich schon etwas herumprobiert bevor ich die Frage hier im Forum gestellt habe, aber es ist immer daran gescheitert dass ich diese PunchOutOrderMessage per HTTP-POST mitsenden muss.
“hängt” die Zielseite quasi sofort in meinem Warenkorb. Die Funktion getPunchOutOrderMessage wird also auch nicht erst beim Klick aufgerufen. Oder habe ich da jetzt eine Kleinigkeit übersehen?
Das hat leider auch nicht geholfen. Aber danke für deine Bemühungen.
Ich habe auch schon einige Male an der Stelle mit CURL experimentiert, aber kam nie weiter. Ich glaube das Problem besteht darin, dass alle Funktionen die direkt in der .tpl-Datei erwähnt werden automatisch aufgerufen werden wenn die Seite gerendert wird. Schon bevor ich auf den entsprechenden Button klicke.
Daher denke ich dass ich in irgend einer Form mit AJAX hantieren muss.
Also ich habe das mal kurz getestet. Wenn Du hiermal einen Artikel in dem WK legst und im WK auf den Button “ERROR: Translation for EXPORT_CXML not found!” unter gutscheincode klickst, wirst Du weitergeleitet. Die Klasse basket habe ich mit der Methode erweitert.
Ajax wäre für mich hier unangebracht.
Mit obigem bleibt die URL bestehen, mit folgendem hast den Wechsel.