Neu Währungszeichen "ohne Leerzeichen" vor dem Preis?

mckey

Gut bekanntes Mitglied
1. April 2012
109
3
Hallo,

der Platz ob das Währungszeichen vor oder nach dem Preis stehen soll, kann man über die JTL-WaWi steuern.

Wenn ich jetzt das Währungszeichen vor dem Preis anzeigen möchte, steht leider immer ein Leerzeichen noch dazwischen € 44.

Wie oder was muss ich ändern, dass der Preis so aussieht €44 ?

Grüße,
 

artm

Aktives Mitglied
22. Februar 2021
93
22
der Platz ob das Währungszeichen vor oder nach dem Preis stehen soll, kann man über die JTL-WaWi steuern.

Wenn ich jetzt das Währungszeichen vor dem Preis anzeigen möchte, steht leider immer ein Leerzeichen noch dazwischen € 44.

Wie oder was muss ich ändern, dass der Preis so aussieht €44 ?
Das kann man nicht einstellen, Leerzeichen ist hardcoded.

Es gibt aber einige Wege sowas zu lösen:

- "Preise::getLocalizedPriceString()"-Funktion wird fast überall benutzt um Preiswerte zu formatieren, da könnte man Leerzeichen entfernen, die Funktion befindet sich aber in JTL- Shop Code. Bei Updates muss dann achten, dass diese Änderung nicht überschrieben wird.
- Man könnte Smarty-Variablen in Templates verändern
- oder statt Templates zu verändern einen Plugin entwickeln, welcher dann diese Aufgabe übernimmt
 

Rektor

Sehr aktives Mitglied
22. November 2011
592
189
der Platz ob das Währungszeichen vor oder nach dem Preis stehen soll, kann man über die JTL-WaWi steuern.
Wir sind zwar schon sehr lange mit der Wawi unterwegs, dennoch lernt man vermutlich nie aus. Diese Einstellung war uns bisher nie aufgefallen. Bei uns steht das Währungszeichen hinter dem Wert, was eigentlich völlig korrekt erscheint. Das Währungszeichen direkt an den Wert zu stellen, ergibt aus meiner Sicht keinen Sinn, egal ob vor oder nach dem Wert.
Vielleicht kurze Aufklärung, weshalb das so gewollt sein soll bzw. welchen Mehrwert das bringen soll.
 
Zuletzt bearbeitet:

mckey

Gut bekanntes Mitglied
1. April 2012
109
3
Vielleicht kurze Aufklärung, weshalb das so gewollt sein soll bzw. welchen Mehrwert das bringen soll.
Andere Länder, andere Sitten so auch in der Preisauszeichnung. Die Preisgestaltung und das, was die Kunden gewohnt sind ist nicht auf der ganzen Welt gleich.


"Preise::getLocalizedPriceString()"-Funktion wird fast überall benutzt um Preiswerte zu formatieren

Du meinst die functions.php

PHP:
function gibPreisStringLocalizedSmarty($params, $smarty)
{
    $oAufpreis                     = new stdClass();
    $oAufpreis->cAufpreisLocalized = '';
    $oAufpreis->cPreisInklAufpreis = '';

    if ((float)$params['fAufpreisNetto'] != 0) {
        $fAufpreisNetto         = (float)$params['fAufpreisNetto'];
        $fVKNetto               = (float)$params['fVKNetto'];
        $kSteuerklasse          = (int)$params['kSteuerklasse'];
        $fVPEWert               = (float)$params['fVPEWert'];
        $cVPEEinheit            = $params['cVPEEinheit'];
        $FunktionsAttribute_arr = $params['FunktionsAttribute'];
        $nGenauigkeit           = (isset($FunktionsAttribute_arr[FKT_ATTRIBUT_GRUNDPREISGENAUIGKEIT])
            && (int)$FunktionsAttribute_arr[FKT_ATTRIBUT_GRUNDPREISGENAUIGKEIT] > 0)
            ? (int)$FunktionsAttribute_arr[FKT_ATTRIBUT_GRUNDPREISGENAUIGKEIT]
            : 2;

        if ((int)$params['nNettoPreise'] === 1) {
            $oAufpreis->cAufpreisLocalized = Preise::getLocalizedPriceString($fAufpreisNetto);
            $oAufpreis->cPreisInklAufpreis = Preise::getLocalizedPriceString($fAufpreisNetto + $fVKNetto);
            $oAufpreis->cAufpreisLocalized = ($fAufpreisNetto > 0)
                ? ('+ ' . $oAufpreis->cAufpreisLocalized)
                : str_replace('-', '- ', $oAufpreis->cAufpreisLocalized);

            if ($fVPEWert > 0) {
                $oAufpreis->cPreisVPEWertAufpreis     = Preise::getLocalizedPriceString(
                        $fAufpreisNetto / $fVPEWert,
                        \Session\Frontend::getCurrency()->getCode(),
                        true,
                        $nGenauigkeit
                    ) . ' ' . Shop::Lang()->get('vpePer') . ' ' . $cVPEEinheit;
                $oAufpreis->cPreisVPEWertInklAufpreis = Preise::getLocalizedPriceString(
                        ($fAufpreisNetto + $fVKNetto) / $fVPEWert,
                        \Session\Frontend::getCurrency()->getCode(),
                        true,
                        $nGenauigkeit
                    ) . ' ' . Shop::Lang()->get('vpePer') . ' ' . $cVPEEinheit;

                $oAufpreis->cAufpreisLocalized = $oAufpreis->cAufpreisLocalized . ', ' .
                    $oAufpreis->cPreisVPEWertAufpreis;
                $oAufpreis->cPreisInklAufpreis = $oAufpreis->cPreisInklAufpreis . ', ' .
                    $oAufpreis->cPreisVPEWertInklAufpreis;
            }
        } else {
            $oAufpreis->cAufpreisLocalized = Preise::getLocalizedPriceString(
                Tax::getGross($fAufpreisNetto, $_SESSION['Steuersatz'][$kSteuerklasse], 4)
            );
            $oAufpreis->cPreisInklAufpreis = Preise::getLocalizedPriceString(
                Tax::getGross($fAufpreisNetto + $fVKNetto, $_SESSION['Steuersatz'][$kSteuerklasse], 4)
            );
            $oAufpreis->cAufpreisLocalized = ($fAufpreisNetto > 0)
                ? ('+ ' . $oAufpreis->cAufpreisLocalized)
                : str_replace('-', '- ', $oAufpreis->cAufpreisLocalized);

            if ($fVPEWert > 0) {
                $oAufpreis->cPreisVPEWertAufpreis     = Preise::getLocalizedPriceString(
                        Tax::getGross($fAufpreisNetto / $fVPEWert, $_SESSION['Steuersatz'][$kSteuerklasse]),
                        \Session\Frontend::getCurrency()->getCode(),
                        true,
                        $nGenauigkeit
                    ) . ' ' . Shop::Lang()->get('vpePer') . ' ' . $cVPEEinheit;
                $oAufpreis->cPreisVPEWertInklAufpreis = Preise::getLocalizedPriceString(
                        Tax::getGross(
                            ($fAufpreisNetto + $fVKNetto) / $fVPEWert,
                            $_SESSION['Steuersatz'][$kSteuerklasse]
                        ),
                        \Session\Frontend::getCurrency()->getCode(),
                        true,
                        $nGenauigkeit
                    ) . ' ' . Shop::Lang()->get('vpePer') . ' ' . $cVPEEinheit;

                $oAufpreis->cAufpreisLocalized = $oAufpreis->cAufpreisLocalized .
                    ', ' . $oAufpreis->cPreisVPEWertAufpreis;
                $oAufpreis->cPreisInklAufpreis = $oAufpreis->cPreisInklAufpreis .
                    ', ' . $oAufpreis->cPreisVPEWertInklAufpreis;
            }
        }
    }

    return (isset($params['bAufpreise']) && (int)$params['bAufpreise'] > 0)
        ? $oAufpreis->cAufpreisLocalized
        : $oAufpreis->cPreisInklAufpreis;
}

Kannst du mir sagen wo da die Leerzeichen sind?
 

artm

Aktives Mitglied
22. Februar 2021
93
22
Kannst du mir sagen wo da die Leerzeichen sind?

nein, ich meine nicht die functions.php

für JTL5 v5.0.3

Datei: /includes/src/Catalog/Product/Preise.php

Funktion:
PHP:
public static function getLocalizedPriceString(
        $price,
        $currency = null,
        bool $html = true,
        int $decimals = 2
    ): string {
        if ($currency === null || \is_numeric($currency) || \is_bool($currency)) {
            $currency = Frontend::getCurrency();
        } elseif (\is_object($currency) && ($currency instanceof stdClass)) {
            $currency = new Currency((int)$currency->kWaehrung);
        } elseif (\is_string($currency)) {
            $currency = Currency::fromISO($currency);
        }
        $localized    = \number_format(
            $price * $currency->getConversionFactor(),
            $decimals,
            $currency->getDecimalSeparator(),
            $currency->getThousandsSeparator()
        );
        $currencyName = $html ? $currency->getHtmlEntity() : $currency->getName();

        return $currency->getForcePlacementBeforeNumber()
            ? ($currencyName . ' ' . $localized)
            : ($localized . ' ' . $currencyName);
    }

bei return das nutzen:

Code:
        return $currency->getForcePlacementBeforeNumber()
            ? ($currencyName . $localized)
            : ($localized . $currencyName);
 
Ähnliche Themen
Titel Forum Antworten Datum
Mailing ohne Ebay-Alias-Email-Adressen durchführen JTL-Wawi 1.8 0
Verwiesen an Support BUG: WMS Pickliste ohne Nummer? JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 2
Neu Migration Shopware 5 auf 6 mit JTL-Wawi ohne Datenverlust Shopware-Connector 1
Entfernen von Lieferzeiten bei Artikeln ohne Lieferzeiten Einrichtung JTL-Shop5 6
Neu Zahlungsart Kartenzahlung bleibt in Wawi als Auftrag ohne Rechnung Allgemeine Fragen zu JTL-POS 4
Neu Template anpassen - parallel zum bestehenden, ohne Aktivierung? Templates für JTL-Shop 4
Neu Auftragssumme ohne Rabatt auf Rechnung ausgeben Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Ameise - Export Zahlungdaten ohne Minuszahlungen ? Version 1.9.1.0 JTL-Wawi 1.8 2
Neu google recaptcha ablösen? dadurch ohne consentmanager leben JTL-Shop - Ideen, Lob und Kritik 8
Neu JTL-Search - funktioniert nach Anmeldung als Kunde schlechter als ohne Anmeldung User helfen Usern - Fragen zu JTL-Wawi 0
Neu Sendungen ohne Auftragsdaten in DHL JTL-ShippingLabels - Fehler und Bugs 2
Neu ebay Import ohne Variantenbilder eBay-Anbindung - Fehler und Bugs 0
Laufende Angebote von Otto importieren ohne bestehenden Artikelbestand Otto.de - Anbindung (SCX) 1
Neu Ameise - Logikfrage zum Import von Artikeln mit und ohne Varkombis gemäß Guide User helfen Usern - Fragen zu JTL-Wawi 0
Neu Bestand an eBay ohne laufende Angebote eBay-Anbindung - Ideen, Lob und Kritik 0
Angebote ohne Auftrag, die wieder auftauchen und ein Auftrag haben, der sogar versendet wurde. JTL-Wawi 1.8 1
Neu Rechnungen Sofort erstellen (ohne Auftrag!) User helfen Usern - Fragen zu JTL-Wawi 1
Auftrag ohne Versand abschließen -> wieder rückgängig geht nicht JTL-Wawi 1.8 1
Neu Verbesserungsvorschlag: Wareneinigang ohne EAN Code JTL-WMS / JTL-Packtisch+ - Ideen, Lob und Kritik 6
Merkmal ohne angelegte Werte mit Maßeinheit JTL-Wawi 1.8 5
In Bearbeitung Warum sind die Leerzeichen im Namen von Workflows JTL-Workflows - Fehler und Bugs 7

Ähnliche Themen