# $sBasketAmount - Welche Datei

**URL:** <https://forum.shopware.com/t/sbasketamount-welche-datei/6412>\
**Category:** Shopware 3.5\
**Tags:** programming\
**Created:** [6. März 2012 um 10:59 UTC](https://forum.shopware.com/t/sbasketamount-welche-datei/6412 "2012-03-06T10:59:03Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![ottscho](https://avatars.discourse-cdn.com/v4/letter/o/7ba0ec/32.png) [@ottscho](https://forum.shopware.com/u/ottscho)\
**Post date:** [6. März 2012 um 10:59 UTC](https://forum.shopware.com/t/sbasketamount-welche-datei/6412/1 "2012-03-06T10:59:03Z")

</div>

Moin, in welcher Datei wird die Variable $sBasketAmount erzeugt, welche in alle Shopware Ansichten verfügbar ist. In sBasket.php kann ich diese nicht finden. Danke

---

<div class="post-metadata">

**Author:** ![ovi](https://avatars.discourse-cdn.com/v4/letter/o/3ab097/32.png) [@ovi](https://forum.shopware.com/u/ovi)\
**Post date:** [6. März 2012 um 13:02 UTC](https://forum.shopware.com/t/sbasketamount-welche-datei/6412/2 "2012-03-06T13:02:19Z")

</div>

Zeile 52 in engine/Shopware/Plugins/Default/Core/ControllerBase/Bootstrap.php mit dem Rückgabewert der Methode aus Zeile 82, die sich wiederum der Methode sGetAmount der Klasse sBasket bedient…

---

<div class="post-metadata">

**Author:** ![ottscho](https://avatars.discourse-cdn.com/v4/letter/o/7ba0ec/32.png) [@ottscho](https://forum.shopware.com/u/ottscho)\
**Post date:** [6. März 2012 um 13:19 UTC](https://forum.shopware.com/t/sbasketamount-welche-datei/6412/3 "2012-03-06T13:19:30Z")

</div>

[quote=„ovi“]Zeile 52 in engine/Shopware/Plugins/Default/Core/ControllerBase/Bootstrap.php mit dem Rückgabewert der Methode aus Zeile 82, die sich wiederum der Methode sGetAmount der Klasse sBasket bedient…[/quote] Bei der sBasket / sGetAmount war ich schon. Diese habe ich zum Test mal mit 11 definiert. Dabei konnte ich aber keine Änderung in der Warenkorbsumme feststellen. Ich schaue es mir noch mal an. Viele Dank.

---

<div class="post-metadata">

**Author:** ![ottscho](https://avatars.discourse-cdn.com/v4/letter/o/7ba0ec/32.png) [@ottscho](https://forum.shopware.com/u/ottscho)\
**Post date:** [6. März 2012 um 13:34 UTC](https://forum.shopware.com/t/sbasketamount-welche-datei/6412/4 "2012-03-06T13:34:08Z")

</div>

okay, war mein Fehler. Aber noch fürs allgemeine, ` public function sGetAmount(){ return $this-\>sSYSTEM-\>sDB\_CONNECTION-\>GetRow("SELECT SUM(quantity\*(floor(price \* 100 + .55)/100)) AS totalAmount FROM s\_order\_basket WHERE sessionID=? GROUP BY sessionID",array($this-\>sSYSTEM-\>sSESSION\_ID)); } ` was soll das mit floor und + .55 Welcher Sinn steckt da dahinter? Sollte es nicht reichen, die Summe von Menge \* Preis von allen Datensätzen und dies dann auf 2 Stellen hinter dem Komma zu runden?

---

<div class="post-metadata">

**Author:** ![ovi](https://avatars.discourse-cdn.com/v4/letter/o/3ab097/32.png) [@ovi](https://forum.shopware.com/u/ovi)\
**Post date:** [6. März 2012 um 15:03 UTC](https://forum.shopware.com/t/sbasketamount-welche-datei/6412/5 "2012-03-06T15:03:32Z")

</div>

Das ist eine gute Frage… soweit ich weiß, gab es in älteren MySQL Versionen ein Problem mit der Round-Funktion, d.h. sie hat sich auf verschiedenen Systemen unterschiedlich verhalten. Floor, also Abrunden, hatte dieses Problem nicht. Die zweite Dezimalstelle (x,x5) ist offenbar nötig, da Shopware bei Preisen leider einen Gleitkommatyp verwendet (und nicht Festkomma, wie ich es für richtig halten würde, ist aber nur meine Meinung). Ist aber alles nur eine vage Vermutung…
