Neu Artikelvariation als PopUp aufrufen und Wert zurückgeben

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
8.587
2.671
Berlin
Firma
css-umsetzung
das hier solltest du niemals so machen
Code:
$('.farbe').click(

denn durch das nachladen per Ajax gehen die events der Elemente verloren, die nachgeladen wurden.

eher so (aber das ist jetzt ohne das zu validieren)
Code:
$('.simple-variations').on("click", ".farbe",

ich verstehe nicht ganz, wenn das Links sind, wie du dann einen value wert abfragst, ich müsste das vernutlich im gesamten sehen
das hier irritiert mich auch ein wenig -> var selectNr = "{$Variation->kEigenschaft}";

Ich würde wenn ich diesen Weg wählen würde, vermutlich eine Funktion schreiben, die sich die nötigen Daten dann über die data parameter holt, die dann in den Links stehen, da du ja sagtest du hast da eine Schleife, wäre das das beste.
Du hast dann ja auch das Problem dass wenn der content nachgeladen wird, dein Construct unter umständen auseinanderfällt, da keine events mehr funktionieren und dieser content selbst kein JS ausführt.
Da solltest du dich vermutlich besser direkt, mit deinen zusätzlichen Funktionen ins article object einklinken (da sind aber gute Js Kentnisse erforderlich um das updatesicher und ohne den core zu verändern, zu zaubern).

Bin gespannt, wie sich das entwickelt.
 

rwillhaus

Aktives Mitglied
4. Dezember 2016
29
0
Ok.
Wo bringe ich denn dann die Klasse "simple-variations" unter?
{$Variation->kEigenschaft} ist die Smart-Variable der Select-Abfrage der Variation Farbe, da die Eigenschaftsnummer ja je nach Artikel schwankt und nicht immer 45 ist.
Insgesamt merke ich, dass meine javascript-Kenntnisse wohl zu gering sind um jetzt wirklich was stabiles fertig zu bekommen.
Ich dachte es wäre mit einer kurzen Funktion getan. Die Farbenliste hätte ich noch hinbekommen, aber wenn es so schwer ist über einen Link den aktiven Eintrag einer Dropdown-Liste zu ändern, wird es wohl zu aufwändig.
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
8.587
2.671
Berlin
Firma
css-umsetzung
Mach mal deine farbwert auflistung
und schau dir an wie das im original ist, du siehst da ganz viele "data" deklarationen, die würde ich in den Links auch mit unterbringen, so das du dann immer weisst, welcher Link zu welchem select udn welcher Option gehört.

Wenn du da eine vernünftige Ausgabe hast, kann ich dir ein passendes JS machen was die Verbindung herstellt.
 

rwillhaus

Aktives Mitglied
4. Dezember 2016
29
0
Wow. Das wäre ja der Hammer.
Also ich hätte jetzt einfach eine simple foreach-Schleife in die modal-popup-box gebaut.
So ca.:
Code:
{foreach name=Variationswerte from=$Variation->Werte key=y item=Variationswert}
       <div name="farbwahl" class="farbe" data-type="option" value="{$Variationswert->kEigenschaftWert}" data-original="{$Variationswert->cName}" data-key="{$Variationswert->kEigenschaft}"data-value="{$Variationswert->kEigenschaftWert}">{$Variationswert->cName}</div>
<br>
{/foreach}

Die smarty-Code Elemente sind dann ja quasi mit überliefert. Den Select-Wert der Box Frage ich ja vorher schon ab, wenn der VariationsName = Farbe ist
Hier:

Code:
{if $Variation->cName == 'Farbe'}

Mit einer If-Abfrage würde ich dann später noch anhand des Titels (die eindeutigen RAL-Nummern) den Hex-Wert der Farbe zuordnen. Aber das ist dann ja Fleißarbeit.
Sehe ich das soweit richtig oder denke ich da zu einfach?
 

Ähnliche Themen