gerade in den ersten Schritten der Plugin-Entwicklung. Unser Plugin soll den Checkout/Confirm um ein weiteres Feld erweitern und hängt sich auch schon wunderbar in den View so ein, wie wir uns das wünschen. Beim Versenden der Bestellung soll nun noch der Inhalt des neuen Feldes in der sORDER-Mail verschickt werden.
gerade in den ersten Schritten der Plugin-Entwicklung. Unser Plugin soll den Checkout/Confirm um ein weiteres Feld erweitern und hängt sich auch schon wunderbar in den View so ein, wie wir uns das wünschen. Beim Versenden der Bestellung soll nun noch der Inhalt des neuen Feldes in der sORDER-Mail verschickt werden.
gerne würden wir auf euer Plugin zurückgreifen. Hatten wir auch bereits auf dem Testserver im Einsatz.
Bisher bekommen wir es mittels JavaScript aber nicht hin in eines der ersten Felder zu schreiben.
Das erstellte JavaScript liest unser Cookie bereits aus und schreibt die Partner-ID in ein „Test-Input“, aber leider nicht in das erste Input eures Plugins.
gerne würden wir auf euer Plugin zurückgreifen. Hatten wir auch bereits auf dem Testserver im Einsatz.
Bisher bekommen wir es mittels JavaScript aber nicht hin in eines der ersten Felder zu schreiben. Das erstellte JavaScript liest unser Cookie bereits aus und schreibt die Partner-ID in ein „Test-Input“, aber leider nicht in das erste Input eures Plugins.
Gibt es da irgendeine Möglichkeit das umzusetzen?
VG
Hallo,
wie wäre es mit:
window.addEventListener("load", myOnloadEvent, false);
function myOnloadEvent(){
document.getElementById("attribute_orderfield1_value").value = meinCookieWert;
}
Beides sollte natürlich auch nach dem Shopware Block frontend_checkout_confirm_agb hinzugefügt werden (damit das Skript nicht vor den anderen ausgeführt wird). Ebenso sollte man auch vorher prüfen, ob das Feld bereits vorhanden ist.
Danke dafür.
So was in der Art hatten wir auch vor. In unserem Theme unter “themes/Frontend/UNSERTHEME/frontend/custom/confirm.tpl” nimmt er die Änderung aber leider nicht an. Müssen wir es an eine andere Stelle packen?
Danke dafür.
So was in der Art hatten wir auch vor. In unserem Theme unter „themes/Frontend/UNSERTHEME/frontend/custom/confirm.tpl“ nimmt er die Änderung aber leider nicht an. Müssen wir es an eine andere Stelle packen?
VG und Danke im Voraus.
Hallo,
das ist ja auch richtig so, da das Verzeichnis auch falsch ist, siehe:
Der richtige Pfad wäre eher: theme/UNSER_THEME/frontend/checkout/confirm.tpl
Es hängt nun unter dem Block {frontend_checkout_confirm_confirm_table_actions} befüllt aber das Input-Feld nicht.
Die Google-Console zeigt uns die passenden Daten an und sonst keine Fehler. Kann ja dann nur an unserem JS-Code liegen oder?
// function to get cookie information with additional getter and setter
Cookie = {
get: function(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i = 0; i <ca.length; i++) {
var c = ca[i];
while (c.charAt(0)==' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length,c.length);
}
}
return "";
},
set: function(name, value) {
document.cookie = name + "=" + value;
}
};
Cookie.set("VPID", "78234234234"); // test data
document.getElementById("attribute_orderfield1_value").value = Cookie.get("VPID"); // test
// check if we are in the confirm view - not really smooth yet....
/*if(document.getElementsByClassName("is--act-confirm").length > 0 ) {
if(Cookie.get("VPID") != null) { // if the partner-id is not empty set the partner-id into the comment field
document.getElementById("attribute_orderfield1_value").value = "Partner-ID: " + Cookie.get("VPID");
}*/
}
Es hängt nun unter dem Block {frontend_checkout_confirm_confirm_table_actions} befüllt aber das Input-Feld nicht.
Die Google-Console zeigt uns die passenden Daten an und sonst keine Fehler. Kann ja dann nur an unserem JS-Code liegen oder?
// function to get cookie information with additional getter and setter
Cookie = {
get: function(cname) {
var name = cname + „=“;
var ca = document.cookie.split(‚;‘);
for(var i = 0; i <ca.length; i++) {
var c = ca[i];
while (c.charAt(0)==’ ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length,c.length);
}
}
return „“;
},
set: function(name, value) {
document.cookie = name + „=“ + value;
}
};
Cookie.set(„VPID“, „78234234234“); // test data
document.getElementById(„attribute_orderfield1_value“).value = Cookie.get(„VPID“); // test
// check if we are in the confirm view - not really smooth yet…
/if(document.getElementsByClassName(„is–act-confirm“).length > 0 ) {
if(Cookie.get(„VPID“) != null) { // if the partner-id is not empty set the partner-id into the comment field
document.getElementById(„attribute_orderfield1_value“).value = "Partner-ID: " + Cookie.get(„VPID“);
}/
}
VG
Hallo,
euer Code wird ja aber sofort ausgeführt. Habt ihr es einmal mit der oben genannten onLoad - Prüfung probiert? Oder es mal testweise mit einer JavaScript-Zeitverzögerung probiert (vielleicht wird das Feld ja erst nach eurem Code dargestellt)?
Es hängt nun unter dem Block {frontend_checkout_confirm_confirm_table_actions} befüllt aber das Input-Feld nicht.
Die Google-Console zeigt uns die passenden Daten an und sonst keine Fehler. Kann ja dann nur an unserem JS-Code liegen oder?
// function to get cookie information with additional getter and setter
Cookie = {
get: function(cname) {
var name = cname + „=“;
var ca = document.cookie.split(';');
for(var i = 0; i <ca.length; i++) {
var c = ca[i];
while (c.charAt(0)==' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length,c.length);
}
}
return „“;
},
set: function(name, value) {
document.cookie = name + „=“ + value;
}
};
Cookie.set(„VPID“, „78234234234“); // test data
document.getElementById(„attribute_orderfield1_value“).value = Cookie.get(„VPID“); // test
// check if we are in the confirm view - not really smooth yet…
/if(document.getElementsByClassName(„is–act-confirm“).length > 0 ) {
if(Cookie.get(„VPID“) != null) { // if the partner-id is not empty set the partner-id into the comment field
document.getElementById(„attribute_orderfield1_value“).value = "Partner-ID: " + Cookie.get(„VPID“);
}/
}
VG
Hallo,
euer Code wird ja aber sofort ausgeführt. Habt ihr es einmal mit der oben genannten onLoad - Prüfung probiert? Oder es mal testweise mit einer JavaScript-Zeitverzögerung probiert (vielleicht wird das Feld ja erst nach eurem Code dargestellt)?
Beste Grüße
Sebastian
Vielen vielen Dank, das brachte das gewünschte Ergebnis.