Hallo zusammen,
ich bin neu hier im Forum und auch noch relativ neu in der Shopware-Thematik.
Vielleicht kann mir hier aber jemand bei meinem Problem weiterhelfen, würde mich sehr freuen.
Über die Erlebniswelten möchte ich eine spezielle Landingpage für z.B. Batteriekabel erstellen. Diese soll es in verschiedenen Längen und Querschnitten geben, also Varianten. Um den Kunden bei der Auswahl der richtigen Leitung zu unterstützen, habe ich in einem HTML-Block ein Script zur Berechnung des Querschnittes eingefügt. Darüber ist der Block „Galerie und Buybox“.
Ich bin schon so weit gekommen, dass je nach berechnetem Wert die richtige Variante ausgewählt wird. Allerdings ändert sich dabei die Produktnummer nicht und wenn ich auf „In den Warenkrob“ klicke, wird der Standard-Artikel dem Warenkorb hinzugefügt. Bei meinen Tests konnte ich aber auch feststellen, dass ich manuell nur 1x eine Variante anklicken kann, danach kann ich klicken was ich will, die Artikelnummer ändert sich nicht mehr.
Ist das zufällig ein bekanntes Problem und wie kann ich in meinem Script eine Aktualisierung der Artikelnummer erzwingen?
Das Script habe ich mir mithilfe von ChatGPT erstellen lassen und ist bisher nicht geprüft! Es dient lediglich der Anschauung und ist ein Test. Deshalb keine Garantie auf Richtigkeit. Folgendes Script habe ich in den HTML-Block eingefügt:
<script>
function berechneQuerschnitt() {
// Beispielwerte für die Berechnung (diese würden normalerweise aus den Eingabefeldern kommen)
var laenge = parseFloat(document.getElementById("laenge").value);
var stromstaerke = parseFloat(document.getElementById("stromstaerke").value);
var material = document.querySelector('input[name="material"]:checked').value;
var spannungsabfall = parseFloat(document.getElementById("spannungsabfall").value);
// Beispielhafte Berechnung des Kabelquerschnitts (die eigentliche Formel sollte hier verwendet werden)
var querschnitt = (stromstaerke * laenge) / spannungsabfall; // Dies ist eine vereinfachte Formel
// Setze das Ergebnis im Dokument
document.getElementById("ergebnis").innerHTML = "Benötigter Kabelquerschnitt: " + querschnitt.toFixed(4) + " mm²";
// Wähle die Größe basierend auf dem Kabelquerschnitt
if (querschnitt <= 1) {
document.getElementById("ID-VARIANTE-1").checked = true;
} else if (querschnitt <= 2.5) {
document.getElementById("ID-VARIANTE-2").checked = true;
} else if (querschnitt <= 4) {
document.getElementById("ID-VARIANTE-3").checked = true;
} else {
document.getElementById("ID-VARIANTE-4").checked = true;
}
</script>
</head>
<body>
<h1>Kabelquerschnitt Berechnung</h1>
Länge des Kabels (in m): <input type="number" id="laenge"><br>
Stromstärke (in A): <input type="number" id="stromstaerke"><br>
Material:
<input type="radio" id="kupfer" name="material" value="Kupfer" checked> Kupfer
<input type="radio" id="aluminium" name="material" value="Aluminium"> Aluminium<br>
Zulässiger Spannungsabfall (in V): <input type="number" id="spannungsabfall"><br>
<button onclick="berechneQuerschnitt()">Berechnen</button>
<h2>Ergebnis:</h2>
<div id="ergebnis">Benötigter Kabelquerschnitt: x.xx mm²</div>
ID-VARIANTE-x muss dann noch gegen die IDs der Varianten-Buttons, welche von Shopware vergeben werden, ersetzt werden.
Wenn ich den Berechnen-Button (1) anklicke, wird die entsprechende Variante (2) ausgewählt, allerdings ändert sich die Artikelnummer (3) nicht.
Gibt es einen Befehl bzw. „Function“, damit auch die Artikelnummer angepasst wird?
So, ich hoffe, dass ich mein Problem verständlich erklären konnte.
Vielen Dank im Voraus.
Sebastian