Neu Dotliquid Artikelnummer aufteilen

hutfabrik

Mitglied
7. Mai 2021
3
0
Wir benötigen Hilfe bei einer Exportvorlage " Lieferantenbestellung" Teile der SKU ausgeben. Diese sind immer per Bindestrich getrennt.

Beispielwerte:
Komplette SKU: 123456-78-90
Komplette SKU: 12345-678-90

Ich möchte nun die "Einzelwerte" ausgeben können.

Beispiel:
Teil 1: 123456; Teil 2: 78; Teil 3: 90
Teil 1: 12345; Teil 2: 678; Teil 3: 90

Besten Dank für die Unterstützung. Welcher Dotliquid Filter ist hier der Richtige?
 

sebjo82

Sehr aktives Mitglied
3. Juni 2021
579
167
Nicht einfach umzusetzen, da die Implementierung von Regex in DotLiquid nur halbgar ist, aber du kannst mit | Replace einiges anstellen
 

jtldudel

Sehr aktives Mitglied
4. Januar 2018
601
193
Wir benötigen Hilfe bei einer Exportvorlage " Lieferantenbestellung" Teile der SKU ausgeben. Diese sind immer per Bindestrich getrennt.

Beispielwerte:
Komplette SKU: 123456-78-90
Komplette SKU: 12345-678-90

Ich möchte nun die "Einzelwerte" ausgeben können.

Beispiel:
Teil 1: 123456; Teil 2: 78; Teil 3: 90
Teil 1: 12345; Teil 2: 678; Teil 3: 90

Besten Dank für die Unterstützung. Welcher Dotliquid Filter ist hier der Richtige?
Sind deine SKUs denn einheitlich 3-Teilig? Also immer xxx-xxx-xxx ?
 

jtldudel

Sehr aktives Mitglied
4. Januar 2018
601
193
Hallo,
ja die SKUs sind immer 3-Teilig. Die Einzigen Unterschiede liegen in der Anzahl der Ziffern. 1. Teil hat immer 5 oder 6 Ziffern. 2. Teil hat immer 1,2 oder 3 Ziffern. 3. Teil hat immer 2 Ziffern.
Dann kannst du über den Filter "Split" die Nummern in ihre Einzelteile trennen und ausgeben. Dafür die Artikelnummer in eine eigene Variable (hier nenne ich die Variable SKU), Beispiel:
{% assign SKU = position.Artikelnummer | Split: '-' -%}

Dann ist die Variable SKU quasi eine Liste, du kannst die Teile ausgeben mit:
{{ SKU[0] }} (Daraus wird der erste Part: 123456)
{{ SKU[1] }} (Daraus wird der zweite Part: 78)
{{ SKU[2] }} (Daraus wird der dritte Part: 90)
 
Zuletzt bearbeitet: