Neu [5.1.1] Sprachvariablen: "productInflowing" lässt sich nicht sinnvoll ändern.

hotzeplotz

Aktives Mitglied
4. Februar 2019
71
3
Hallo Leute

Variable: productInflowing
Text: "Ware bestellt. %s %s voraussichtlich ab dem %s verfügbar."

Dieser Text lässt sich nicht sinnvoll anpassen, da man die Platzhlater "%s" nicht einfach
verändern oder löschen kann. Will man z.B. die Anzahl unterdrücken und löscht die ersten zwei Platzhaltern

Also so: "Ware bestellt. Voraussichtlich ab dem %s verfügbar."

Das hat zwei Folgen:

1. Der letzte Platzhalter mit der Menge ersetzt was den Sinn entstellt.
2. PHP Warning: sprintf(): Too few arguments

Besser wären hier Platzhalten die unabhängig von sprintf sind.

Text: "Ware bestellt. {Menge} {Einheit} voraussichtlich ab dem {Datum} verfügbar."

Siehe "includes/src/Catalog/Product/Artikel.php"

PHP:
/**
 * @return string
 */
public function getBackorderString():string
{
    $backorder = '';
    if ($this->cLagerBeachten === 'Y'
        && $this->fLagerbestand <= 0
        && $this->fZulauf > 0
        && $this->dZulaufDatum_de !== null
    ) {
        $backorder = \sprintf(
            Shop::Lang()->get('productInflowing', 'productDetails'),
            $this->fZulauf,
            $this->cEinheit,
            $this->dZulaufDatum_de
        );
    }

    return $backorder;
}
);

Eher sowas in der Art:

PHP:
$backorder = str_replace([
    '%Menge%',
    '%Einheit%',
    '%Datum%'
], [
    $this->fZulauf,
    $this->cEinheit,
    $this->dZulaufDatum_de
], Shop::Lang()->get('productInflowing', 'productDetails'));

Ich weiß, trifft sicher noch mehr Sprachvariablen … dennoch, ist man an die Reihenfolge und Anzahl der Platzhalter gebunden, können solche Texte nicht mehr sinnvoll selbst bearbeitet werden.

Schönen Abend noch.
 
Zuletzt bearbeitet:

MHillmann

Moderator
Mitarbeiter
11. Oktober 2018
1.345
495
Hallo,

ich verstehe das Problem, dass man Variablen nicht gut weglassen kann und werde das mal als Ticket aufnehmen. Die Reihenfolge kannst du zumindest ändern bzw definieren:
PHP:
"Ware bestellt. %2$s %1$s voraussichtlich ab dem %3$s verfügbar."

Viele Grüße
Michael
 

ongnamo

Sehr aktives Mitglied
31. März 2013
1.108
95
Stand Shop 5.1.2: Man kann (inzwischen?) die ersten beiden Platzhalter sogar weglassen, wenn man der Notation von Michael folgt.
 
  • Gefällt mir
Reaktionen: OS8610
Ähnliche Themen
Titel Forum Antworten Datum
Neu Merkmalswerte: Sprache lässt sich nicht umstellen User helfen Usern - Fragen zu JTL-Wawi 1
App lässt sich nicht verbinden - Zertifkatsproblem? JTL-Wawi App 0
Neu Pluginmanager lässt sich nicht mehr öffnen Plugins für JTL-Shop 2
Lässt sich der zu scannende Barcode ändern? JTL-Wawi App 1
Neu Verkaufskanalverwaltung Shopware lässt sich nicht löschen Shopware-Connector 3
In Diskussion Wie lässt sich die Ausführung eines Workflows stoppen, sobald ein Produkt in einer gewissen Kategorie ist? JTL-Workflows - Fehler und Bugs 1
Neu Lässt sich die Artikelsichtbarkeit pro Kundengruppe per Workflow steuern? User helfen Usern - Fragen zu JTL-Wawi 2
Neu Test Plugin lässt sich weder installieren, noch löschen Plugins für JTL-Shop 0
Neu Video Portlet skaliert nicht richtig und lässt Platz oben und unten. Allgemeine Fragen zu JTL-Shop 3
Anzahl der Ausdrucke (Rechnung) lässt sich nicht ändern JTL-Wawi 1.10 4
Verkaufskanal lässt sich nicht löschen JTL-Wawi 1.10 1
Neu Mindestzeichenanzahl des Suchbegriffs lässt sich nicht verändern JTL-Shop - Fehler und Bugs 3
Gelöst SumUp am POS lässt nur Einstecken der Karte zu Allgemeine Fragen zu JTL-POS 1
Neu Individueller Festpreis für Kunden lässt sich nicht speichern. JTL-Wawi - Fehler und Bugs 1

Ähnliche Themen