Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Bug: Order Total Modul ot_shipping

    Simon

    • Viel Schreiber
    • Beiträge: 1.369
    Bug: Order Total Modul ot_shipping
    am: 23. Oktober 2012, 23:55:49
    Das Modul ot_shipping kennt keine Steuer.
    Egal ob B2B oder B2C, es wird immer die Zwischensumme als Referenz genommen, ob die Summe bei "Versandkostenfrei für Bestellungen ab x Euro" erreicht wurde.

    Die Zwischensumme ist bei B2B allerdings netto, bei B2C brutto.

    Ein Privatkunde kommt dadurch früher in den Genuss der versandfreien Lieferung.
    Es müsste in der Admin immer der Nettowert eingegeben werden und die Prüfung unabhängig von der Kundengruppe mit dem Nettowert erfolgen.

    Linkback: https://www.modified-shop.org/forum/index.php?topic=22948.0

    Jürgen H.

    • Neu im Forum
    • Beiträge: 15
    Re: Bug: Order Total Modul ot_shipping
    Antwort #1 am: 13. März 2013, 10:07:04
    Hallo Simon,

    ich bin mir nicht sicher, ob das die Stelle ist, aber zufällig bin ich dadrauf gekommen und wollte an Community die Stelle melden.

    includes/modules/order_total/ot_shipping.php
    Code: PHP  [Auswählen]
    61:           $shipping_tax = 0;
    62:          $shipping_tax_description = '';
    63:          if (array_key_exists($module, $GLOBALS) && is_object($module)) {
    64:            $shipping_tax = xtc_get_tax_rate($GLOBALS[$module]->tax_class, $order->delivery['country']['id'], $order->delivery['zone_id']);
    65:            $shipping_tax_description = xtc_get_tax_description($GLOBALS[$module]->tax_class, $order->delivery['country']['id'], $order->delivery['zone_id']);
    66:          }
     

    Zeile 63 ersetzen durch:
    Code: PHP  [Auswählen]
    if ($module !== '' && array_key_exists($module, $GLOBALS) && is_object($GLOBALS[$module])) {
     

    Für keine PHP-Freunde:
    An der Stelle wird geprüft, ob das Versandmodul existiert und sollte ein Objekt sein. Aber Versandmodul-Name kann kein Objekt sein, weil das immer ein String ist.
    Beispiel:
    $module = flat = String
    $GLOBALS['flat'] = Objekt

    Auf jeden Fall, aktuellste SVN-Trunk hat diese Fehler schon nichts mehr.

    Modulfux

    • Experte
    • Beiträge: 3.590
    • Geschlecht:
    Re: Bug: Order Total Modul ot_shipping
    Antwort #2 am: 13. März 2013, 10:20:55
    Statt
    Code: PHP  [Auswählen]
    array_key_exists($module, $GLOBALS)
    verwende ich
    Code: PHP  [Auswählen]
    isset($GLOBALS[$module]) || array_key_exists($module, $GLOBALS)
    ,
    weil es performanter ist.

    Normalerweise würde auch ein
    Code: PHP  [Auswählen]
    isset($GLOBALS[$module])
    ausreichen, Problem ist aber, falls das Array als Wert NULL ergibt, wäre es mit der Abfrage isset() trotzdem gesetzt.

    Gruß
    Ronny

    Jürgen H.

    • Neu im Forum
    • Beiträge: 15
    Re: Bug: Order Total Modul ot_shipping
    Antwort #3 am: 13. März 2013, 10:31:04
    Hallo Ronny,

    an der Stelle wird immer eine Zeichenkette erwartet, NULL darf nie vorkommen. Gute Vorschlag ;) Danke

    Code: PHP  [Auswählen]
    if ($module != '' && isset($GLOBALS[$module]) && is_object($GLOBALS[$module])) {
     

    Gruß

    Modulfux

    • Experte
    • Beiträge: 3.590
    • Geschlecht:
    Re: Bug: Order Total Modul ot_shipping
    Antwort #4 am: 13. März 2013, 10:45:32
    @Monah

    Stimmt auch wieder, in diesem Fall reicht wirklich ein isset().

    Gruß
    Ronny

    Simon

    • Viel Schreiber
    • Beiträge: 1.369
    Re: Bug: Order Total Modul ot_shipping
    Antwort #5 am: 13. März 2013, 14:59:17
    Danke Euch beiden, ich werde es testen.  :thumbs:
    Hoffentlich wirkt sich der Code nicht kreuz und quer im Shop aus.
    0 Antworten
    860 Aufrufe
    07. November 2018, 06:51:08 von Shorty
    6 Antworten
    3376 Aufrufe
    04. Dezember 2014, 00:46:27 von Fritzler
    0 Antworten
    1938 Aufrufe
    01. Februar 2013, 12:06:38 von EatMyShorts
    9 Antworten
    6314 Aufrufe
    16. April 2012, 21:18:39 von bebbi