Neu Mehrsprachige Mails und Dokumente

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.871
539
Wir haben uns das mehrsprachig über Globale Textbausteine angelegt. Funktioniert super nur wird bei der Aufzählung der Artikel immer der DE Name/Titel genommen.
Hier mal der Code aus einer Auftragsmail:

Code:
{% for position in Report.SalesOrderPosition -%}
{% if position.PositionType == 'ShippingPosition' -%}
{% assign shippingMethod = position.Name -%}
{% if UseNetPrice -%}
{% assign shippingPrice = position.TotalNetPrice -%}
{% else -%}
{% assign shippingPrice = position.TotalGrossPrice -%}
{% endif -%}
{% else -%}
{% capture quantity -%}{{ position.Quantity }}{% if position.Unit != empty %} {{ Position.Unit }}{% else %}x{% endif %} {{ position.Name }}{% endcapture -%}

Hiermit werden wohl die Positionen per Schleife abgefragt:
Code:
{% for position in Report.SalesOrderPosition -%}

Den verstehe ich den ganzen Tag nicht:
Code:
{% assign shippingMethod = position.Name -%}

Hiermit wird der Artikelname gesetzt. Ich denke aus der Schleife kann man einzelne Elemente ausgeben:
Code:
 {{ position.Name }}
Interessant wäre hierbei wie man an die Namen der Elemente kommt um die auszugeben!

So ich finde nirgends eine Möglichkeit zu bestimmen welcher Artikelname und in welcher Sprache es da ausgegeben wird.
Jedenfalls das im Artikel -> Beschreibung -> Drucken/Mailen/Faxen ist es nicht.

P.S. Unter den Vorlagen ist die Sprache Englisch gesetzt.
 

MirkoWK

Sehr aktives Mitglied
14. März 2022
801
290
Hi,

Den verstehe ich den ganzen Tag nicht:
Code:
{% assign shippingMethod = position.Name -%}

hier wird der Name in die Variable shippingMethod übernommen, wenn der Positionstyp ShippingPosition ist. Siehe den Code davor: "{% if position.PositionType == 'ShippingPosition' -%}"

Hiermit wird der Artikelname gesetzt. Ich denke aus der Schleife kann man einzelne Elemente ausgeben:
Code:
{{ position.Name }}
Genau. Das ist der Name aus der Position aus dem Auftrag.
Aus dem Grund kommt man dann auch nicht direkt an die andere Sprache ran, da im Auftrag einfach ein Text in der Position steht, ohne das definiert ist, welche Sprache das am Ende ist.
Hier bleibt einem nur übrig, die andere Sprache per SQL aus dem Artikel zu holen. Bei jedem Schleifendurchlauf.

Jede Vorlage hat ja sicher eine definierte Sprache, für welche sie gedacht ist?

Viele Grüße
Mirko
 

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.871
539
Hmmh SQL kann ich so leider nicht, schade. Aber ich werde die Tage mal etwas mit dem Zeugs spielen. Danke schon mal.
 

MirkoWK

Sehr aktives Mitglied
14. März 2022
801
290
Hi, versuche es mal hiermit (der Name wird nur bei Artikel angezeigt / das umschließende for ist sicher schon vorhanden und kann weg (erste und letzte Zeile)):

SQL:
{%- for position in Report.SalesOrderPosition -%}
{% if position.PositionType == 'Item' -%}
{%- capture query -%}
SELECT
    b.cName
FROM
    tArtikelBeschreibung b
    LEFT JOIN tArtikel a ON a.kArtikel = b.kArtikel
WHERE
    b.kPlattform = 1
    AND b.kSprache = 1 -- hier die ID der Sprache verwenden, welche man benötigt
    AND a.cArtNr = '{{ position.SKU }}'
{%- endcapture -%}
{{ query | DirectQueryScalar }}
{%- endif -%} 
{%- endfor -%}

Die ID der Sprachen bekommst du hier raus:

SQL:
SELECT * FROM tSpracheUsed
 
  • Gefällt mir
Reaktionen: gnarx

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.871
539
Moin soweit funzt es ich vermute nur das der sich die Texte unterschiedlich holt. Also einmal wohl aus dem Shipping und einmal aus dem Plattform Text. Die sind natürlich unterschiedlich.
Deshalb die Frage zu dem Punkt:
Code:
b.kPlattform = 1

Die Plattform-ID ist ja vorhanden und die kann ich per Assign setzen und die wird auch korrekt geholt. So etwa:

Code:
{%- for position in Report.SalesOrderPosition -%}
{% assign plattform = Report.PlatformInternalId -%}
{% if position.PositionType == 'Item' -%}
{%- capture query -%}
SELECT
    b.cName
FROM
    tArtikelBeschreibung b
    LEFT JOIN tArtikel a ON a.kArtikel = b.kArtikel
WHERE
    b.kPlattform = 2
    AND b.kSprache = 2 -- hier die ID der Sprache verwenden, welche man benötigt
    AND a.cArtNr = '{{ position.SKU }}'
{%- endcapture -%}
{{ query | DirectQueryScalar }}
{%- endif -%}
{%- endfor -%}

Nur wie binde ich das in den SQL ein?
 
Zuletzt bearbeitet:

MirkoWK

Sehr aktives Mitglied
14. März 2022
801
290
das kannst du ähnlich wie die SKU einbinden:

SQL:
{%- for position in Report.SalesOrderPosition -%}
{% if position.PositionType == 'Item' -%}
{%- capture query -%}
SELECT
    b.cName
FROM
    tArtikelBeschreibung b
    LEFT JOIN tArtikel a ON a.kArtikel = b.kArtikel
WHERE
    b.kPlattform = {{ Report.PlatformInternalId }}
    AND b.kSprache = 2 -- hier die ID der Sprache verwenden, welche man benötigt
    AND a.cArtNr = '{{ position.SKU }}'
{%- endcapture -%}
{{ query | DirectQueryScalar }}
{%- endif -%}
{%- endfor -%}
 
  • Gefällt mir
Reaktionen: gnarx

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.871
539
So das funktioniert super. Hoffe ich nerve nicht da ich noch folgendes habe.
Ich müsste halt noch abtackern wenn kein EN Text da ist das er denn den normalen Verlauf ausführt.
Deinen Code bekomme ich ja hier reinkopiert, z.B. statt {{ position.Name }} aber wenn nix in EN da ist bzw. im oben abgefragten Feld dann bleibt es ja leer. Wenn nix da ist soll er {{ position.Name }} nehmen.
Code:
{% capture quantity -%}{{ position.Quantity }}{% if position.Unit != empty %} {{ Position.Unit }}{% else %}x{% endif %} {{ position.Name }}{% endcapture -%}

Wenn du nix dagegen hast würde ich dann die Abfrage unter meinen Tipps der Allgemeinheit zur Verfügung stellen.
 

MirkoWK

Sehr aktives Mitglied
14. März 2022
801
290
Hi,

das könnte man wie folgt machen:

statt
Code:
{{ query | DirectQueryScalar }}
das hier
Code:
{%- assign result = query | DirectQueryScalar -%}
{%- if result == '' -%}{{ position.Name }}{%- else -%}{{ result }}{%- endif -%}

Der Code kann gern zur Verfügung gestellt werden :).

Viele Grüße
Mirko
 
  • Gefällt mir
Reaktionen: gnarx

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.871
539
Teste ich heute noch. Muss erstmal hier alles abarbeiten, war ja in Berlin zum Stammtisch. Aber danke schon mal.
 

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.871
539
So funktioniert mit einer kleinen Änderung statt:
Code:
{%- assign result = query | DirectQueryScalar -%}
{%- if result == '' -%}{{ position.Name }}{%- else -%}{{ result }}{%- endif -%}
so:
Code:
{%- assign result = query | DirectQueryScalar -%}
{%- if result != '' -%}{{ position.Name }}{%- else -%}{{ result }}{%- endif -%}
Der gesamte Code ist dann so:
Code:
{%- for position in Report.SalesOrderPosition -%}
{% if position.PositionType == 'Item' -%}
{%- capture query -%}
SELECT
    b.cName
FROM
    tArtikelBeschreibung b
    LEFT JOIN tArtikel a ON a.kArtikel = b.kArtikel
WHERE
    b.kPlattform = {{ Report.PlatformInternalId }}
    AND b.kSprache = 2 -- hier die ID der Sprache verwenden, welche man benötigt
    AND a.cArtNr = '{{ position.SKU }}'
{%- endcapture -%}
{%- assign result = query | DirectQueryScalar -%}
{%- if result != '' -%}{{ position.Name }}{%- else -%}{{ result }}{%- endif -%}
{%- endif -%}
{%- endfor -%}
So recht herzlichen Dank @MirkoWK wenn du mal was brauchst sag Bescheid.
 

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.871
539
Hmmh grad aufgefallen da die Mails in Englisch jetzt so aussehen, wenn einer mehr bestellt.
Code:
2x SCHNÜFFELRASEN® SNIFFPAD HAPPY SNIFFSTAR SNIFFPAD HEART SNIFFPAD FLOWER SNIFFROLL pink-light blue SNIFFROLL multicoloured SNIFFROLL sage-grey SNIFFMASTER SNIFFPAD ELEMENTS SINGLE turquoise SNIFFPAD ELEMENTS SINGLE orange SNIFFPAD ELEMENTS Zahnbürste 
79,80
Er nimmt also alle Artikelnamen der Bestellung in einer Zeile. So sieht es aus:
Code:
{% for position in Report.SalesOrderPosition -%}
{% if position.PositionType == 'ShippingPosition' -%}
{% assign shippingMethod = position.Name -%}
{% if UseNetPrice -%}
{% assign shippingPrice = position.TotalNetPrice -%}
{% else -%}
{% assign shippingPrice = position.TotalGrossPrice -%}
{% endif -%}
{% else -%}
{% capture quantity -%}{{ position.Quantity }}{% if position.Unit != empty %} {{ Position.Unit }}{% else %}x{% endif %} {%- for position in Report.SalesOrderPosition -%}
{% if position.PositionType == 'Item' -%}
{%- capture query -%}
SELECT
    b.cName
FROM
    tArtikelBeschreibung b
    LEFT JOIN tArtikel a ON a.kArtikel = b.kArtikel
WHERE
    b.kPlattform = {{ Report.PlatformInternalId }}
    AND b.kSprache = 2 -- hier die ID der Sprache verwenden, welche man benötigt
    AND a.cArtNr = '{{ position.SKU }}'
{%- endcapture -%}
{%- assign result = query | DirectQueryScalar -%}
{%- if result != '' -%}{{ position.Name }}{%- else -%}{{ result }}{%- endif -%}
{%- endif -%}
{%- endfor -%}
{% endcapture -%}
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Mails zu Verfügbarkeitsanfragen an Interessenten gehen nicht raus JTL-Shop - Fehler und Bugs 2
Angebot an 2 Mails gleichzeitig senden JTL-Wawi 1.9 5
Vorlagen und eigene Felder JTL-Wawi 1.10 1
JTL AGBs und Gewährleistungsrechte / Schadensersatz JTL-Wawi 1.11 1
Neu Frage zum Thema Skonto bei Bezahlungsarten Barzahlung und QR-Code Betrieb / Pflege von JTL-Shop 0
Neu SUCHE Freelancer für JTL WAWI Anbindung an WooCommerce und Einrichtung Dienstleistung, Jobs und Ähnliches 2
Neu Rechnungsvorlage Tarik und Herkunftsland User helfen Usern - Fragen zu JTL-Wawi 4
Neu Rechnung als pdf. speichern mit Rechnungsnummer und Kundennummer im Namen klappt nicht User helfen Usern - Fragen zu JTL-Wawi 4
Neu Artikel KinderArtikel anlegen: Workflow "Artikel erstellt und Artikel geändert" werden NUR beim Vaterartikel gestartet User helfen Usern - Fragen zu JTL-Wawi 0
Liste exportieren mit Kategorien und Anzahl der Artikel in der jeweiligen Kategorie JTL Ameise - Eigene Exporte 3
Vollständiger Ex- und Import wegen fehlerhafter Datenbank - Reihenfolge? JTL-Wawi 1.6 9
Am eigenen Lager Bestand = 0, bei FBA = 170, Probleme mit dem eigenen Shop und Otto.de JTL-Wawi 1.10 3
JTL Wawi und JTL-POS gleichen nicht mehr ab JTL-Wawi 1.11 2
Neu Packtisch + Waage – Meldung bei großem Unterschied zwischen tatsächlichem Gewicht und Systemgewicht? Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 1
Neu Lister 2.0 und Lagerbestände Amazon-Lister - Fehler und Bugs 0
Neu Keine plugins im header und footer mehr auf Startseite shop 5.6.0 angezeigt Installation / Updates von JTL-Shop 5
Ich möchte den Bestand der Verpackungskartons im System verwalten und nachverfolgen JTL-Wawi 1.10 2
Zugriff auf Artikel und Bestellungen nach Update nicht möglich JTL-Wawi 1.11 0
Neu Mobile Ansicht: Filterung ganz oben und fixieren Betrieb / Pflege von JTL-Shop 4
Neu JTL-Shop Admin Bereich und Shop nur noch 504 Gateway Time-out ( Hosting über JTL ) User helfen Usern - Fragen zu JTL-Wawi 4
Neu Wawi 1.10 weigert sich zu starten und 1.11 kann man nicht downloaden JTL-Wawi - Fehler und Bugs 4
Update-Frust: Zwischen VoP, Mobile App und WMS-Waagen – keine stabile Lösung in Sicht JTL-Wawi 1.11 5
JTL 1.11 aus Downloads und Supportseite verschwunden / ZugFerd Ausgabe geändert? JTL-Wawi 1.11 2
Neu Zugferd und Wawi Endbeträge um 0,1 cent unterschiedlich JTL-Wawi - Fehler und Bugs 0
Neu Lieferadresse auf Lieferschein und Auftragsbestägigung Vorlage Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 4
Neu Zuletzt Verkaufter Artikel länger als X Tage her und im eigenen Bestand User helfen Usern - Fragen zu JTL-Wawi 0
Neu Wie lege und inseriere ich sehr ähnliche Artikel so effizient wie möglich auf eBay und Shopify User helfen Usern - Fragen zu JTL-Wawi 0
Neu Von 0.99923 auf aktuell - mir fehlen die 1.5.52. und die 1.8.10.0 Installation von JTL-Wawi 1
Neu Heute wied kein Versand bei Amazon bestätigt und manueller Abgleich gibt Fehlermeldung aus Amazon-Anbindung - Fehler und Bugs 1
Neu ZUGFeRD Rechnungen - Leistungsdatum und Steuerbefreiung User helfen Usern - Fragen zu JTL-Wawi 0
Neu DPD und das Gewicht auf dem Label JTL-ShippingLabels - Ideen, Lob und Kritik 2
Neu Seriennummern und SQL Abfragen User helfen Usern - Fragen zu JTL-Wawi 1
Neu Bestellvorgang – Land und Postleitzahl werden nicht erkannt und HTTP-Fehler 500 bei der Lieferadresse JTL-Shop - Fehler und Bugs 11
Neu Connectorversion 2.1.0 - Kompatibilität zu Shopware 6.7 und Performanceoptimierungen Shopware-Connector 13
Neu Kein Abgleich zwischen WaWi und Shop seit Update möglich Onlineshop-Anbindung 5
Neu Stückzahl lässt sich mit [+] und [-] Buttons nicht ändern JTL-Shop - Fehler und Bugs 6
Neu Wieder einmal fehlt der Adresszusatz bei Bestellungen und es kommt somit zu Problemen Amazon-Anbindung - Fehler und Bugs 0
Neu KI-WaWi-Workflows: Eigene KI-Endpunkte direkt aus JTL-Workflows ansprechen – ohne Plugin, flexibel und schnell Dienstleistung, Jobs und Ähnliches 3
Neu Shopify Kategorie /(Produkt Taxonomie) und kategoriespezifische Attribute in JTL Wawi pflegen Shopify-Connector 0
Neu JTL-ShippingLabels und DHL JTL-ShippingLabels - Fehler und Bugs 2
Beantwortet Ihr Token bei JTL-eazyAuction ist ausgelaufen - Verletzung von Nebenpflichten (Treue- und Informationspflicht) durch JTL Einrichtung und Installation von JTL-eazyAuction 4
Neu Zahlungsarten und Bulletpoints in Kaufpreisnähe Plugins für JTL-Shop 4
Neu JTL Wawi und Etikettendrucker Brother QL-820NWBc Installation von JTL-Wawi 2
Neu Kunden mit Kundenkonto bestellen als Gast und Aufträge sind dann nicht im Konto sichtbar Allgemeine Fragen zu JTL-Shop 4
Neu Zahlungsmodul und das VoP ab dem 5.10. Arbeitsabläufe in JTL-Wawi 37
X-Rechnung hat Validierungsfehler und wird abgelehnt JTL-Wawi 1.10 0
Neu Staging und Konten bitte eine Erklärung. Installation von JTL-Wawi 0
Neu tWarenkorbpos und tBestellung älter als 10 Jahre löschen JTL-Shop - Fehler und Bugs 0
Neu Rollende Kommissionierung – Pflicht zur Bestätigung von Lagerplatz und Pickmenge Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 0
Neu Discount Regeln in JTL hinterlegen und zu Woocommerce synchronisieren WooCommerce-Connector 0

Ähnliche Themen