Neu Mehrsprachige Mails und Dokumente

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.889
545
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
830
305
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.889
545
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
830
305
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.889
545
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
830
305
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.889
545
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
830
305
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.889
545
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.889
545
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.889
545
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 Webinar „Shipping 2.0“ am Dienstag, 14.07.2026 – über 500 Anmeldungen, was es Neues gibt und wie ihr das Beste daraus macht News, Events und Umfragen 6
Seit dem Update meines JTL-Shops auf Version 5.7.1 funktioniert die Verbindung zwischen JTL-Wawi 2.0.4.0 und dem Shop nicht mehr. JTL-Wawi 2.0 5
Neu JTL-WMS und JTL-POS... Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 0
Neu Versandart nach Volumengewicht und Lieferland Allgemeine Fragen zu JTL-Shop 2
Neu SUNMI V3 MIX – Touchscreen und USB-Maus frieren nach einigen Minuten ein JTL-POS - Fehler und Bugs 1
Beantwortet [Shop 5.7.2 / Wawi 2.0.5] GPSR-Daten werden am Artikel nicht angezeigt trotz korrekter Übertragung und installiertem Plugin Allgemeine Fragen zu JTL-Shop 1
Amazon VCS-Lite und Externe Belege JTL-Wawi 1.11 1
Neu PPWR und Versandetikett Business Jungle 5
Neu DSVGO konform 1000 Kunden in WaWi und Shop löschen! User helfen Usern - Fragen zu JTL-Wawi 4
Neu Der wahrscheinlich östlichste JTL Servicepartner: Standortvorteil, faire Preise und vieles mehr Dienstleistung, Jobs und Ähnliches 16
Neu Rechte-Fehler im J10n Modul und Auswirkung auf base.mo.php in div. Plugins (Shop 5.7.1) JTL-Shop - Fehler und Bugs 0
Neu Kundengruppeneinstellungen für Mindestabnahme und Abnahmeintervall löschen User helfen Usern - Fragen zu JTL-Wawi 0
Neu Shop 5.7.1 und Downloadmodul Allgemeine Fragen zu JTL-Shop 1
Neu Plugin: JTL Exportformat Google Shopping gibt <g:google_product_category> unter Shop 5.7.1 und Wawi 2.0.4 nicht aus Plugins für JTL-Shop 1
Neu Widerrufbutton und Handy JTL-Shop - Fehler und Bugs 1
ändern von Servernamen nach Neuinstallation von SQL und Verbindung mit neuem Server in der Wawi JTL-Wawi 2.0 2
Neu Neues Tool - eBay Penner finden, beenden und neu listen Schnittstellen Import / Export 0
Neu Arbeiten mit Lieferanten EKs - Workflows und SQL User helfen Usern - Fragen zu JTL-Wawi 6
Angebliche externe Aufträge "für Rechnungserstellung freigeben" und Rechnungen erstellen. Gibt es dazu eine akzeptable Erklärung von JTL? JTL-Wawi 1.11 1
Fehlermeldungen bei Einrichtung DHL 4.0 "Objektverweis" und "Konfiguration Versandart" JTL-Wawi 1.11 2
Fehler nach Update auf Version 1.11.11 und 2.0.4 JTL-Wawi 2.0 7
Neu Es werden keine Marken ausgedruckt und die Portokasse lässt keine Anmeldung zu. Smalltalk 5
Neu Newsletter Problem und Fragen Allgemeine Fragen zu JTL-Shop 2
Neu MS Server und MS SQL Installation von JTL-Wawi 5
Neu Seller2Go – Mobile App & JTL-Plugin für Bestellungen, Support und Produktmanagement Plugins für JTL-Shop 0
Keine Datenübertragung trotz bestehender Verbindung und funktionierendem Server JTL-Wawi 2.0 35
Neu buersten.de stellt sich vor (und lädt euch ein!) Shops stellen sich vor 4
Neu Bestellabgleich Shopify - JTL | Point of Sales und Online Stores Shopify-Connector 2
Dashboard lädt nicht und Umsatzanzeige rechnet falsch seit Update auf 1.11.8 JTL-Wawi 1.11 8
Neu Falsch erzeugte Ausgangszahlung bei Teilzahlungen und Retoure (Kauf auf Rechnung) Arbeitsabläufe in JTL-Wawi 0
Neu Kritisches Problem bei DHL 4.0: Handelsstücklisten brechen EU- und Exportversand JTL-ShippingLabels - Fehler und Bugs 25
Neu Besucher und Kampagnen Statistik Konfiguration Betrieb / Pflege von JTL-Shop 0
Bestellabgleich mit JTL Wawi und WooCommerce 1h verzögert JTL-Wawi 2.0 0
JTL-Worker 2.0 - Einrichtung als Dienst - Auffälligkeiten und Problemlösungen für manche JTL-Wawi 2.0 3
Neu Summenanzeige in Zahlungen (F7) und Beschaffung (F3) JTL-Wawi - Ideen, Lob und Kritik 0
Neu jtl POS und wawi 1.11.9 Bestände User helfen Usern - Fragen zu JTL-Wawi 3
Neu Custom Checkout - Conversion optimiert mit Speicherung von Standard-Versandart und Zahlungsart am Kunden JTL-Shop - Ideen, Lob und Kritik 1
In Diskussion Workflow mit UND / ODER - Bedingung erstellen JTL-Workflows - Ideen, Lob und Kritik 7
Ameise-Export: Umsatzsteuer stimmt nicht mit Differenz aus Netto und Brutto überein (insbesondere bei mehreren Steuersätzen) JTL-Wawi 1.11 0
Neu Amazon DIVID- und Lucid-Nummer User helfen Usern 0
Neu Bestände in-house und beim Lieferanten + Proforma-Rechnungen, wie? Arbeitsabläufe in JTL-Wawi 3
Neu Vater und Kinderartikel User helfen Usern - Fragen zu JTL-Wawi 11
Neu product_visibility bei JTL-Wawi und Shopware 6 Shopware-Connector 1
Probleme mit Worker und JTL-App JTL-Wawi 2.0 5
Neu Shopware 5 connector und WawI 1.11.06 bis 1.11.8 Shopware-Connector 1
Bilder unter Versand- und Zahlungsart unterschiedlich groß Einrichtung JTL-Shop5 0
Neu Widerrufsbutton: Jeder, der den Button betätigt, kann das Widerrufsformular ausfüllen und absenden - auch ohne Bestellung? Allgemeine Fragen zu JTL-Shop 94
Neu Problem mit Dantezeile und fehlerhafte Angebotsgültigkeit. Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 2
Neu JTL Pro Edition – Lizenzumstellungen und Abrechnungsfragen Smalltalk 42
Neu JTL Shop 5 und Klarna Plugins für JTL-Shop 0

Ähnliche Themen