hotzeplotz
Aktives Mitglied
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"
Eher sowas in der Art:
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.
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: