• Resolved connytigerspice

    (@connytigerspice)


    Hallo (:

    Gerade arbeite ich an einer Webseite, die den kompletten Bestellvorgang auf einer Seite behandelt. Das bedeutet, dass der Warenkorb über Ajax nachgeladen wird. Ohne das Germanized Plugin funktioniert alles wunderbar, aber leider funktioniert es mit dem Plugin nicht mehr. All die Templateänderungen, die Germanized am Warenkorb vornimmt, fehlen.
    Das heißt, die rechtlichen Checkboxen und der neue Checkout-Button. Dafür wird der ursprüngliche Button entfernt.

    Ich habe im Ajax-Request schonmal

    add_action( 'woocommerce_checkout_order_review', 'woocommerce_gzd_template_order_submit', wc_gzd_get_hook_priority( 'checkout_order_submit' ) );
    add_action( 'woocommerce_checkout_after_order_review', 'woocommerce_gzd_template_order_submit_fallback', 50 );

    hinzugefügt, wodurch der Checkout-Button wieder da ist.
    Aber ich kann die Checkboxen leider nicht genauso hinzufügen. Außerdem ist das wahrscheinlich nicht der beste Weg, um mein Ziel zu erreichen.

    Deswegen die Frage:
    Wie kann ich mir unter Einsatz des Plugins über Ajax den Warenkorb holen, der die Änderungen von Germanized beinhaltet?

    Viele Grüße,
    Conny

Viewing 4 replies - 1 through 4 (of 4 total)
  • Plugin Author vendidero

    (@vendidero)

    Hi Conny,

    leider weiß ich gar nicht so genau, was du hier vorhast. Wie genau hast du denn das aufgebaut? Führst du die entsprechenden WooCommerce-Hooks an den entsprechenden Stellen aus? Nur so kann das funktionieren, da Germanized diese Hooks verwendet, um z.B. die rechtl. Checkboxen zu integrieren. Siehe dazu auch: https://github.com/vendidero/woocommerce-germanized/blob/master/includes/wc-gzd-template-hooks.php#L195

    Im Zweifel würde ich dir für solche tiefgreifende Anpassungen immer empfehlen, einen Webentwickler hinzuzuholen, der sich das genau ansieht.

    Grüße

    Thread Starter connytigerspice

    (@connytigerspice)

    Hallo vendidero,

    erst einmal vielen Dank für die Antwort.

    Man könnte es als Single-Page-Application sehen. Während man sich auf der Seite befindet, wird der leere Warenkorb befüllt und ohne den Standard-Checkout soll der Artikel dann gekauft werden. Also auch ohne Neuladen der Seite.
    Das heißt, dass ich über Ajax den Artikel zum Warenkorb hinzufüge und mir dann auch die Checkout-Seite hole. Der Ajax-Request gibt also ein:
    echo do_shortcode('[woocommerce_checkout]');
    zurück. (Vorher wird noch WOOCOMMERCE_CHECKOUT auf true gesetzt und benötigte Cookies gesetzt)
    Und im Ergebnis fehlen dann die Änderungen von Germanized. Soweit ich bisher gesehen habe, ist das Problem, dass es durch einen Ajax-Request aufgerufen wird. Die im Link markierte Funktion “woocommerce_gzd_checkout_load_ajax_relevant_hooks” macht nichts, wenn es sich um einen Ajax-Request handelt. Ich habe auch schon probiert den Code der Funktion in meinem Ajax-Request auszuführen, aber das fügt mir dann nur den Checkout-Button hinzu. Nicht die “legal boxes”.

    Jetzt möchte ich wissen, wie das “do_shortcode” mir exakt die gleiche Ausgabe liefert, wie als hätte ich es auf einer leeren Seite in Woocommerce eingebunden ^^

    Aber wenn es keine relativ einfache Lösung gibt, dann muss ich mich weiter in den Plugincode einarbeiten und schauen, was ich vielleicht noch aufrufen muss 😀

    Plugin Author vendidero

    (@vendidero)

    Hi Conny,

    ja, ich denke da musst du dich etwas tiefer einlesen und ggfs. die entsprechenden Hooks selbst anfügen. Beispiel:

    add_action( 'woocommerce_review_order_after_payment', 'woocommerce_gzd_template_render_checkout_checkboxes', 10 );

    Um die Checkboxen an entsprechender Stelle anzufügen. Du findest fast alles dafür in der o.g. Datei.

    Grüße

    Thread Starter connytigerspice

    (@connytigerspice)

    Vielen Dank, dann arbeite ich mich da mal genauer ein (:

Viewing 4 replies - 1 through 4 (of 4 total)

The topic ‘Warenkorb über Ajax’ is closed to new replies.