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.
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
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!!