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

mckey

Gut bekanntes Mitglied
1. April 2012
115
8
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

Sehr aktives Mitglied
22. Februar 2021
107
25
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
647
287
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
115
8
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

Sehr aktives Mitglied
22. Februar 2021
107
25
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
Neu Artikel immer ohne Sonderpreis kopieren Arbeitsabläufe in JTL-Wawi 0
Neu Was bedeutet dieser Reiter in den Connectoreinstellungen (Ohne Beschriftung?!) WooCommerce-Connector 1
Neu Durchschnittlilche Produktionsdauer auch ohne fixe Losgrößen JTL-Plan&Produce - Ideen, Lob und Kritik 1
Neu Vorkommisionieren ohne Versandboxen. Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 1
Neu Preisdarstellung: keine „ab“-Preise mehr mit Staffelpreisen für Produkte ohne Variationen (JTL Shop 5.3.3) Allgemeine Fragen zu JTL-Shop 1
Neu externe Gutscheine (ohne JTL Voucher) User helfen Usern - Fragen zu JTL-Wawi 0
Neu Beschreibung für Amazon ohne HTML Inhalte Arbeitsabläufe in JTL-Wawi 3
Neu Teillieferungen vorkommissionieren ohne Versanddatenexport Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 2
Neu Amazon Lister 2.0 - Kategorien Deutsch und Englisch gemischt und ohne Hirarchie? Amazon-Lister - Fehler und Bugs 0
Neu Suche Zeiterfassungs-Terminal ohne Cloud und ohne monatliche Kosten Smalltalk 4
Neu Bilder ohne Extension übertragen Shopware-Connector 0
Neu Kann man JTL 1.8 und 1.9 auf einem Client parallel betreiben (ohne hyper V) ? Installation von JTL-Wawi 3
Auftrag ohne Versand aber mit Lagerbuchung abschließen JTL-Wawi 1.9 1
Beantwortet PayPal ohne Funktion Plugins für JTL-Shop 0
Neu Plusbuchung erfolgt ohne Mengenabfrage JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 0
Neu Anlegen einer eigenen Seite ohne Text für externen Link nicht möglich JTL-Shop - Fehler und Bugs 2
Neu Google Pay ohne Funktion Plugins für JTL-Shop 3
Neu Woocommerce Bezahlung Synchronisation - ohne JTL Wawi Zahlungsmodul Funktion WooCommerce-Connector 2
Wie FBA Gutschrift erzeugen ohne Auftragsbezug? JTL-Wawi 1.9 0
Bestellvorschlag bzw. Bestellprognose ohne Verkaufsdaten / alternative Bestandsverwaltungstools in FBA / 3PL JTL-Wawi 1.9 0

Ähnliche Themen