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

mckey

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

Mitglied
22. Februar 2021
76
16
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
541
154
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
108
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

Mitglied
22. Februar 2021
76
16
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
Artikel ohne Preis für schneller Abwicklung in POS JTL-Wawi 1.6 3
Neu Amazon Verkäuferkonto freigeschaltet - Produkte in JTL eingspielt, nun die Frage, 50.000 Artikel wie bekommt man diese mit EAN und teils ohne EAN Amazon-Anbindung - Ideen, Lob und Kritik 5
Neu Preselect Attribute ohne Funktion WooCommerce-Connector 2
Neu Favicon unter Einstellungen NOVA hochgeladen ohne Erfolg Allgemeine Fragen zu JTL-Shop 4
Neu Zahlungsarten deaktivieren ohne sie zu deinstallieren JTL-POS - Fehler und Bugs 0
Neu Shop lief ohne Wawi, Bestellungen manuell angelegt, wie weiter machen? Arbeitsabläufe in JTL-Wawi 0
Neu FBA Aufträge ohne Rechnungen Amazon-Anbindung - Fehler und Bugs 3
Neu PayPal Checkout Zahlung ohne Bestelleingang in der Wawi JTL-Shop - Fehler und Bugs 0
Neu 1.6.40.0 Kritische Sicherheitslücke Fehlerhafte Rechtevergabe Zugriff auf sensible Daten ohne Berechtigung möglich JTL-Wawi - Fehler und Bugs 11
Neu Merkmale ohne Treffer ausblenden Allgemeine Fragen zu JTL-Shop 0
Neu Mindestens ein Attribut hat keinen Namen - Artikel Attribute ohne Übersetzung - kein Bearbeiten/Hinzufügen möglich JTL-Wawi - Fehler und Bugs 1
Neu JTLwawiExtern.dll ohne MessageBox Schnittstellen Import / Export 0
Neu Dropshipping ohne Lieferantenbestand Arbeitsabläufe in JTL-Wawi 1
Neu Ist es möglich den JTL Connector für WooCommerce ohne sqlite3 zu betreiben? WooCommerce-Connector 1
Unterschiedlichen Kategorieseiten auf die gleiche URL verlinken ohne Seiten zu duplizieren? Upgrade JTL-Shop4 auf JTL-Shop5 0
Neu Nach Update: Meldung Steuerklassen ohne Steuerschlüssel OSS User helfen Usern - Fragen zu JTL-Wawi 0
Neu Bestimmte Warengruppe ohne Scannen Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 1
Neu Coupons OHNE die bezahlbare JTL Variante umsetzen Allgemeine Fragen zu JTL-Shop 35
Neu Versand ohne MwST in ein Drittland User helfen Usern - Fragen zu JTL-Wawi 1
Neu Internetmarke ohne Lieferadresse JTL-Wawi - Fehler und Bugs 0
Neu Kindartikel erstellen - Artikelname definieren Trennzeichen ohne Funktion JTL-Wawi - Fehler und Bugs 5
Neu Artikel ohne Gebinde filtern User helfen Usern - Fragen zu JTL-Wawi 2
Neu Umbuchungen/Minusbuchungen bei Artikeln mit Seriennummern OHNE Seriennummernverfolgung JTL-Wawi - Fehler und Bugs 0
Wartungsseite ohne Logo und Impressum Einrichtung JTL-Shop5 3
Neu JTL WMS Pickliste ohne Nachschub Artikel User helfen Usern - Fragen zu JTL-Wawi 1
Neu Rollende Kommissionierung mit Vorkommissionierung ohne fixe Boxen Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 5
Neu Neues PayPal "Checkout" Plugin für Shop 5 - "Basic-Version" ohne Übergabe von Artikeldaten möglich? Plugins für JTL-Shop 4
Neu Lieferanten-Ansprechpartner - Ohne Anrede kein Import JTL-Ameise - Fehler und Bugs 4
Neu JTL-Shop ohne Öffentlichkeit entwickeln Allgemeine Fragen zu JTL-Shop 17
Neu JTL Ameise -> Aufträge ohne Rechnung incl. Auftragswert User helfen Usern - Fragen zu JTL-Wawi 0
Neu Amazon-Angebote ohne WAWI-Artikel exportieren User helfen Usern - Fragen zu JTL-Wawi 0
Neu Wo finde ich nochmal die Artikelanzahl eines Auftrags ohne die Versandkosten? User helfen Usern - Fragen zu JTL-Wawi 0
Neu Konfigurator: Komponenten ohne Preis von der Ameise importiert -> Fehler JTL-Wawi - Fehler und Bugs 1
Neu DHL Warenpost International ohne Tracking schickt ungültige Sendungsnummer an Amazon JTL-ShippingLabels - Ideen, Lob und Kritik 3
Neu Globale Einstellung, Steeurzone "Zone-EU" Sie haben Steuerklassen eingerichtet, ohne einen Steuerschlüssel zu hinterlegen. JTL-Wawi - Fehler und Bugs 3
Neu Plötzlich keine Leerzeichen mehr bei Textausgabe User helfen Usern - Fragen zu JTL-Wawi 0

Ähnliche Themen