Problem mit Snippet, Parametern und verschachtelten IFs

Hi zusammen,
ich schreibe grade ein Snippet (Script), das zwei Parameter nimmt:

  • einen mode, der 20, 50, 80 oder del entsprechen soll
  • eine Liste shops, die Semikolon-getrennt IDs enthält (entspricht dem VariationClientIDs aus 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? :thinking:

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

Hallo Daniel,
gib doch mal mode mit aus. Scheinbar ist da ja alles drin :joy:

Gruß Dirk

Hallo Daniel,

vor das elseif muss noch eine Raute (#), dann sollte es funktionieren.

image

Viele Grüße
Torsten

1 Like

Ja, richtig lesen muss man können, super.
Komisch das es keinen Fehler geschmissen hat.

Eieiei, klar Torsten, danke!

Wie so oft habe ich diese Anfrage abends kurz vor Schluss gestellt, in der Hoffnung bis zum nächsten Tag Antwort zu bekommen :see_no_evil: Klappt ja auch immer, sehts mir nach…

Ja, hat mich auch gewundert. The more you know.

Kam aus nem blöden Copypaste-Fehler letztlich. Dank euch :pray:

1 Like