E-Mail EUR statt €-Symbol ausgeben lassen

Hallo zusammen,

wer kann mir helfen? Ich möchte in der Bestellbestätigung „EUR“ anstatt des €-Symbols anzeigen lassen.

Wie müsste ich das ändern? {{ order.price.positionPrice|currency(currencyIsoCode) }}

Ich dachte (currencyIsoCode) gäbe EUR aus, es ergibt aber wohl das €-Symbol. In den Währungseinstellungen ist beides korrekt gesetzt.

currency dürfte ein Twig-Filter von Shopware sein. Ob der anpassbar ist, müsstest du im Quelltext nachsehen.

Mit Twig, siehe hier: format_currency - Filters - Documentation - Twig PHP

format_currency('EUR', locale: 'de')

Danke dir.

Ich hab mal verschiedene Twig-Änderungen probiert, z.B. {{ order.price.positionPrice|format_currency('EUR', locale: 'de') }} - der Betrag wird trotzdem immer mit € ausgegeben.

In der Bestellbestätigung heißt es am Anfang {% set currencyIsoCode = order.currency.isoCode %}

Gebe ich {{ order.currency.isoCode }} aus, ist es „EUR“ was er hierfür angezeigt. Also müsste es eigentlich ja passen.

Aber beim Shopware-Standard-Code {{ order.price.positionPrice|currency(currencyIsoCode) }} kommt (trotz currencyIsoCode = order.currency.isoCode) nur das €-Symbol raus.

Auch

{{ order.price.positionPrice|currency(order.currency.isoCode) }} 

bringt leider nur ein Ergebnis mit €-Symbol.

Oh, ich habe es falsch rum gelesen. Der Befehl war für das € Symbol.

Passt das ggf.? currency_name - Filters - Documentation - Twig PHP

Also {{ order.price.positionPrice|currency_name('EUR') }} oder auch {{ order.price.positionPrice|currency_name }} bringt als Ausgabe dann eine Zahl ohne €-Symbol oder EUR-Text, mit „.“ als Trennzeichen, also 82.74 statt 82,74.

Am erfolgreichsten war ich mit dem Versuch {{ order.price.positionPrice|number_format(2, ',', '.') }} EUR - das formatiert den Betrag mit " , " oder " . " (ab 1000) und fügt den EUR-Schriftzug manuell an den Betrag an.

Mal replace getestet?

1 „Gefällt mir“

Ich stehe auf dem Schlauch, was genau meinst du mit replace getestet??

Gerade noch {{ order.price.positionPrice|currency(currency_name, 'EUR') }} und {{ order.price.positionPrice|currency(currency_name) }} getestet, ergab jeweils auch wieder Betrag mit " . " und ohne € oder EUR.

Moin,

ich denke er meint diesen Filter: replace - Filters - Documentation - Twig PHP

|replace(‚€‘:'EUR‘)

Grüße
Matthias

2 „Gefällt mir“

Das hatte ich leider nicht kapiert, aber es ist tatsächlich die Lösung!

|replace({'€': 'EUR'}) }}

nach |currency(currencyIsoCode) - also im Beispiel komplett:

{{ order.price.positionPrice|currency(currencyIsoCode)|replace({'€': 'EUR'}) }}

funktioniert, gibt den Betrag mit " , " aus und ersetzt das €-Symbol durch EUR.

Danke!!

1 „Gefällt mir“