Magento2 – Kein Sprachwechsel „stores/store/switch“ bzw. alle automatischen „post-data“ Submits werden nicht ausgeführt

Die Umschaltung der Sprache wird über ein POST-DATA Link realisiert. Dabei wird beim Klick auf den Link ein FORM-Element generiert und
ein POST-SUBMIT abgesetzt.

Wenn der  Google Tag Manager / Google Analytics Klick Event benutzt wird, wird erstmal Google bedient und im gleichen Zug soll dann

der Store Wechsel erfolgen.

Dabei kann es zu einem „Provisional headers are shown“ Error kommen und die Aktion wird abgebrochen mit dem Ergebnis, dass kein Store / Sprachwechsel erfolgt.

Problem scheint hier der Aufbau des Form-Element / Google Link und Submit im gleichen Javascript Zyklus zu sein.

Da hilft, wie so oft, ein asynchrones abschicken des Submits.

Kleines Script (liegt bei mir im Design Script)

require(["jquery",'mage/dataPost',"mage/template"], function($,dataPost,mageTemplate){

    // Problem stores/store/switch/ or all click for[post-data]
    // Browser Chrom
    // Error: Provisional headers are shown
    // When you use google google-analytics click
    dataPost.prototype.postData= function(params) {
        var formKey = $(this.options.formKeyInputSelector).val();
        if (formKey) {
            params.data.form_key = formKey;
        }
        var f = $(mageTemplate(this.options.formTemplate, {
            data: params
        })).appendTo('body').hide();
        window.setTimeout(function(){
            f.submit();
        },200)

    };
});

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.