Hi zusammen,
ich schreibe grade ein Snippet (Script), das zwei Parameter nimmt:
- einen
mode, der20,50,80oderdelentsprechen soll - eine Liste
shops, die Semikolon-getrennt IDs enthält (entspricht demVariationClientIDsaus Plenty)
In Abhängigkeit zu beidem, möchte ich dann einen String zurück geben (der wiederum eine Verkettung von IDs ist).
Was wunderbar klappt, ist die Unterscheidung nach shops. Real nehm ich noch mehr Werte, aber vereinfacht tu ich das:
Jetzt möchte ich aber für einen bestimmten Wert von shops den String zusätzlich nach dem Wert von mode gestalten.
Ich ergänze:
<#if (shops?split(';')?seq_contains('9948'))>
<#assign categories = categories + '196;' />
<#if (mode == '20')>
<#assign categories = categories + '817;' />
<elseif (mode == '50')>
<#assign categories = categories + '818;' />
<elseif (mode == '80')>
<#assign categories = categories + '819;' />
<elseif (mode == 'del')>
<#assign categories = categories + '817;818;819;' />
</#if>
</#if>
Und da steigt irgendwas in der Logik aus? ![]()
Ich bekomme raus:
Im ersten Fall (mode ist 20) werden scheinbar alle Bedingungen gleichzeitig erfüllt. Im zweiten Fall (mode ist 50) wird hingegen keine der Bedinungen erfüllt. Hääää?
Ich bin mir sicher irgendwas mit Scope oder Typisierung ist schuld, aber ich komm nicht drauf was ich anders machen muss…
Den Mode als Zahl statt String übergeben hab ich schon versucht. Die String-Verkettung war auch mal eine Sequenz, auch das ändert nichts. Aber Variablen verketten geht nicht anders als durch erneutes assign sagt StackOverflow? Und weiter unten klappts ja auch. Nur im verschachtelten IF nicht?
Danke, Daniel


