Neu Exportformat - String bis zu bestimmtem Zeichen ausgeben - Befehle zur Stringformaitierng verketten

razzio

Gut bekanntes Mitglied
4. Dezember 2012
125
14
Dresden
Hallo,

ich möchte ein Datenfeed erstellen in dem der Grundpreis $Artikel->cLocalizedVPE in zwei Spalten aufgeteilt wird: 1. den Preis und 2. die Einheit dazu.

Beispiel:
Die Variable Artikel->cLocalizedVPE[0] gibt aus ...";"1.97 € pro 100 g";".... Ich benötige aber ...";"1.97";"pro 100 g";"....

Ich habe mit strstr schon die Einheit in eine Spalte isoliert: ...;{$Artikel->cLocalizedVPE[0]|strstr:"&"};...

Der Preis vorne lässt sich allerdings nicht recht isolieren. Hat jemand einen Tipp? Ich habe es jetzt mit {$Artikel->cLocalizedVPE[0]|truncate:5:""} erst einmal "gehackt" weil wir keine VPE-Preise über 99.99 EUR haben. Aber das ist selbstverständlich nur eine Notlösung.

Außerdem hat man bei einstelligen Eurobeträgen von bspw. 2,68 ein Leerzeichen dahinter was ich nicht trimmen kann. Ich habe es schon mit replace versucht indem ich den Befehl mit dem Pipesymbol verkettet habe: {$Artikel->cLocalizedVPE[0]|truncate:5:""|replace" ":""} das hat aber die Leerzeichen nicht entfernt.

Hat jemand eine Idee wie man das elegant lösen kann?
 

martinwolf

Offizieller Servicepartner
SPBanner
6. September 2012
3.385
263
{math assign="grundpreis" equation="x*y/z" x=$Artikel->fGrundpreisMenge y=$Artikel->Preise->fVKBrutto z=$Artikel->fMassMenge}

{$grundpreis} {$Artikel->cVPEEinheit}
 

razzio

Gut bekanntes Mitglied
4. Dezember 2012
125
14
Dresden
Perfekt, danke Martin! :)

Ich habe es noch bissel formatiert und füge die Werte nur ein wenn der Grundpreis größer 0 ist.
PHP:
{math assign="grundpreis" equation="x*y/z" x=$Artikel->fGrundpreisMenge y=$Artikel->Preise->fVKBrutto z=$Artikel->fMassMenge}{if $grundpreis gt "0"}{$grundpreis|string_format:"%.2f"} pro {$Artikel->cVPEEinheit}{/if}