[gelöst] %-Rabatte in den Staffelpreisen ausgeben

Hallo, wir würden gerne in der Tabelle mit den Staffelpreisen auch den prozentualen Rabatt angeben. Also in etwa so: Menge__________Rabatt__________Preis Bis 9__________________________19,00 EUR Ab 10____________10% __________17,10 EUR AB 20____________20%___________15,20 EUR Die prozentualen Rabatte sind oft eingängiger und deutlicher als die Endpreise. Aber wie lassen sich die Prozente ausgeben? In der block_price.tpl gibt es folgende foreach Schleife (verkürzt): {foreach from=$sArticle.sBlockPrices item=row key=key} {$row.price|currency}\* {/foreach} Und ich habe bereits ein paar Sachen versucht wie {$row.pricePercent} oder {$row.discount} etc. was aber nicht funktionierte. Wie heißt die entsprechende Rabatt-Variable? Oder gibt es diese noch nicht? Vielen Dank! Grüße

Hiermit kannst du sehen was dir alles zur Verfügung steht: [code]

{$sArticle|@print\_r}

[/code] Da keinerlei Discount oder Prozentangabe übergeben wird, könntest du das ganze super-quick und super-dirty so lösen: {100-(100/$sArticle.referenceprice\*$row.price)|string\_format:"%.2f"} | Cheers

Hallo slowmotion, wow, vielen Dank für deine schnelle Antwort! Ich habe deine Formel sofort ausprobiert und theoretisch funktioniert sie wunderbar. Bei mir verrechnet sich Shopware oder Smarty allerdings bei der Formel immer um ein paar Prozentpunkte, was ziemlich skurril ist. Ich habe jetzt alles mehrmals mit dem Taschenrechner nachgerechnet, dann kommt das richtige Ergebnis raus, aber Shopware spuckt mir ganz komische Zahlen aus. Als kleinen Beweis, dass auch die richtigen Zahlen verwendet werden, habe ich mal folgende Rechnung programmiert: [code]

Rechnung: 100 - (100 / {$sArticle.price} * {$row.price})
Ergebnis: {100-(100/$sArticle.price*$row.price)} % |[/code] Das Ergebnis auf dem Bildschirm sieht dann so aus: Wie gesagt, wenn ich mit dem Taschenrechner rechne, kommen 5% bzw. 10% raus. Das ist doch seltsam. Um Rundungsfehler zu vermeiden, gebe ich die komplette Zahl aus. Wo liegt jetzt der Fehler? Liebe Grüße

da war ich wohl etwas zu quick and dirty :smiley: Der Fehler liegt in der Punkt/Komma-Problematik (mit der Formel oben rechnet er ohne Nachkommastellen) Hiermit sollte es klappen: [code]

{100-((100/$sArticle.referenceprice|replace:’,’:’.’)*$row.price|replace:’,’:’.’)|string_format:"%.2f"} % |[/code]

1 „Gefällt mir“

Hi slowmotion, vielen Dank, jetzt funktioniert es einwandfrei! Auf die Punkt/Komma-Problematik wäre ich nie gekommen. Ich habe für die Zukunft mal eine entsprechende Prozent-Variable in Jira vorgeschlagen: http://jira.shopware.de/Widgets/Jira/?ticket=SW-5206 Danke und viele Grüße