Hey Leute.
Ich übe grad mit Shopware und erstelle einfach gerade ein Kontaktformular und mache meist alles mit Vanilla JS, wie ihr es in den Dokumenten seht.
Dadurch habe ich bereits 500 Zeilen Code…
Ich wollte fragen, wie man das Shopware spezifisch besser lösen kann.
Einfach wie ich dieses Chaos besser Refaktoren kann, vllt gleich Best Practice.
Ich könnte alles noch in weitere Funktionen packen und darüber iterieren mit einer for Schleiße aber dann ist es immernoch Vanilla JS und deswegen dachte ich frage ich hier bei den Profis kurz nach.
So sieht die Form beim Ausgeben aus:
Bitte grenzen Sie Ihre Frage ein
{% for key, articleQuestion in articleQuestions %}
{{ articleQuestion }}
{% endfor %}
Name
Email
Telefon
Marke
Typenschild
Ihre Nachricht
usw für alle Antworten...
So ist die Logik
function getArticleDescription(){
var key = document.getElementById("articleQuestions").value;
switch (key) {
case "0":
articleInfoHide();
break;
case "1":
articleInfoHide();
document.getElementById("articleAnswerOne").style ="display:visible";
break;
case "2":
document.getElementById("articleAnswerOne").style ="display:none ";
document.getElementById("articleAnswerTwo").style ="display:visible";
document.getElementById("articleAnswerThree").style ="display:none";
document.getElementById("articleAnswerFour").style ="display:none ";
document.getElementById("articleAnswerFive").style ="display:none ";
break;
case "3":
document.getElementById("articleAnswerOne").style ="display:none ";
document.getElementById("articleAnswerTwo").style ="display:none ";
document.getElementById("articleAnswerThree").style ="display:visible ";
document.getElementById("articleAnswerFour").style ="display:none ";
document.getElementById("articleAnswerFive").style ="display:none ";
break;
case "4":
document.getElementById("articleAnswerOne").style ="display:none";
document.getElementById("articleAnswerTwo").style ="display:none";
document.getElementById("articleAnswerThree").style ="display:none";
document.getElementById("articleAnswerFour").style ="display:visible";
document.getElementById("articleAnswerFive").style ="display:none ";
break;
Beste Grüße!