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: PHP 8.x Error in /includes/modules/shipping/zones.php

    sb_cbo-do

    • Fördermitglied
    • Beiträge: 464
    Hallo,

    mir ist am Samstag ein PHP 8.X Fehler in unserem Shop aufgefallen. Der Fehler ist mir aufgefallen, weil ich nach dem ändern der Versandzone keine Artikel mehr in den Warenkorb legen konnte. Das hat erst wieder funktioniert, nachdem ich die PHP Version auf Versions 7.4.29 geändert habe.

    Wir benutzen die Shopversion v2.0.6.0 rev 13500 mit PHP 8.0.x (zuletzt PHP 8.0.18)

    In der mod_error*.log steht folgendes.
    Zitat
    [2022-04-19 08:17:20]   [error]   [modified]   [pid:15788]   Unsupported operand types: string * int in File: /includes/modules/shipping/zones.php on Line: 125   {}   {}

    In der Datei zones.php steht ab Zeile 125 folgendes.
    Code: PHP  [Auswählen]
    $shipping_cost = (($shipping * $shipping_num_boxes) + constant('MODULE_SHIPPING_ZONES_HANDLING_' . $dest_zone));
              $this->quotes['methods'] = array(array('id' => $this->code,
                                                     'title' => $shipping_method . ' (' . ($shipping_num_boxes > 1 ? $shipping_num_boxes . ' x ' : '') . round($shipping_weight, 2) . ' ' . MODULE_SHIPPING_ZONES_TEXT_UNITS .')',
                                                     'cost'  => $shipping_cost));

    Die Datei /includes/modules/shipping/zones.php wurde von uns nicht bearbeitet.

    Weil PHP 8.0.X in der Shopversion unterstütz wird, habe ich mich dazu entschieden den Fehler hier zu Posten.

    Gibt es dafür schon eine Lösung?
    Ich habe in diesem Forum leider nichts zu diesem Error gefunden.

    MFG,

    Sven

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

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Re: PHP 8.x Error in /includes/modules/shipping/zones.php
    Antwort #1 am: 19. April 2022, 13:17:54
    Hallo Sven,

    ersetze mal testweise folgende Codezeile

    Code: PHP  [Auswählen]
    $shipping_cost = (($shipping * $shipping_num_boxes) + constant('MODULE_SHIPPING_ZONES_HANDLING_' . $dest_zone));

    mit dieser.

    Code: PHP  [Auswählen]
    $shipping_cost = ((floatval($shipping) * $shipping_num_boxes) + constant('MODULE_SHIPPING_ZONES_HANDLING_' . $dest_zone));

    Gruss
    Hanspeter

    sb_cbo-do

    • Fördermitglied
    • Beiträge: 464
    Re: PHP 8.x Error in /includes/modules/shipping/zones.php
    Antwort #2 am: 19. April 2022, 14:07:12
    Hallo Hanspeter,

    danke, dein Code scheint Abhilfe gebracht zu haben. Jetzt kommt keine weiße Seite mehr, wenn ich das Versandland ändere und etwas in den Warenkorb legen möchte.
    Ich werde es die nächsten Tage weiter Testen.

    MFG,

    Sven

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.373
    • Geschlecht:
    Re: PHP 8.x Error in /includes/modules/shipping/zones.php
    Antwort #3 am: 19. April 2022, 14:39:58
    Der Fehler wurde in Ticket #2197 festgehalten.

    Grüße

    Torsten

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.307
    • Geschlecht:
    Re: PHP 8.x Error in /includes/modules/shipping/zones.php
    Antwort #4 am: 19. April 2022, 17:39:11
    Hey Sven,

    wie schauen deine Versandkosten aus ?
    Magst du mal einen Screenshot von den Einstellungen schicken.

    Danke.

    Gerhard

    sb_cbo-do

    • Fördermitglied
    • Beiträge: 464
    Re: PHP 8.x Error in /includes/modules/shipping/zones.php
    Antwort #5 am: 20. April 2022, 08:45:08
    Hallo Gerhard,

    das ist nicht so einfach, da wir mehrere Module benutzen, davon 5 die ich selbst hinzugefügt habe.

    [ Für Gäste sind keine Dateianhänge sichtbar ]

    Kann der Fehler daran gelegen haben, dass ich die selbst erstellen Versandarten noch überarbeiten muss?
    Ich meine damals für die Expressversandarten das dp Modul als Vorlagen genommen zu haben.
    Die Versandzonen gehen von 1-17 Zonen je nach Modul.

    Reichen dir diese Informationen?

    MFG,

    Sven

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.307
    • Geschlecht:
    Re: PHP 8.x Error in /includes/modules/shipping/zones.php
    Antwort #6 am: 20. April 2022, 08:55:59
    Ich würde gerne die rechte Box sehen. Da sind die Einstellungen von Zones zu sehen.

    Gruss Gerhard

    sb_cbo-do

    • Fördermitglied
    • Beiträge: 464
    Re: PHP 8.x Error in /includes/modules/shipping/zones.php
    Antwort #7 am: 20. April 2022, 09:14:46
    Hallo Gerhard,

    hier ist ein Teil des DHL Moduls.
    Ich hoffe das ist ausreichend.

    Gruß,

    Sven

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.307
    • Geschlecht:
    Re: PHP 8.x Error in /includes/modules/shipping/zones.php
    Antwort #8 am: 20. April 2022, 11:09:45
    Perfekt, das bestätigt meine Vermutung.

    Du hast für die Zone 1 folgendes hinterlegt:

    0:0.0,5:4.1597 ,30:5...

    Da ist ein Leezeichen drin. Wenn du nun einen Warenkorb hast, der unter 5kg hat, dann sind es 4.1597. Durch das Leezeichen am Ende wird es nicht als Double, sondern als Sting erkannt und führt zu dem Fehler.

    Gruss Gerhard

    sb_cbo-do

    • Fördermitglied
    • Beiträge: 464
    Re: PHP 8.x Error in /includes/modules/shipping/zones.php
    Antwort #9 am: 20. April 2022, 11:37:34
    Hallo Gerhard,

    super vielen dank für die Erklärung.
    Dann werde ich die Leerzeichen mal ganz schnell löschen.
    Ich habe mir das besagte Modul angesehen und an der Stelle ist kein Leerzeichen, sieht im Screenshot nur so aus, als wäre an der Stelle ein Leerzeichen:

    0:0.0,5:4.1597,30:5.8403,

    Ich werde jetzt aber alle Einträge auf Leerzeichen überprüfen, vielleicht werde ich an einer anderer Stelle fündig.

    NACHTRAG:
    Ich habe den Fehler gefunden, es hatte nichts mit einem Leerzeichen zu tun, sondern ich habe unter Versandkosten das Versandland eingetragen und somit ein String übergeben.
    Dieser Eintrag war auch genau bei dem Versandland, wo mir der Fehler aufgefallen ist.
    Wird das Ticket #2197 dann wieder gelöscht und ich kann dann wohl auch wieder den alten Code einfügen oder?

    Vielen dank für die schnelle Hilfe.

    Gruß,

    Sven

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.307
    • Geschlecht:
    Re: PHP 8.x Error in /includes/modules/shipping/zones.php
    Antwort #10 am: 20. April 2022, 12:18:35
    Super, danke für die Rückmeldung.

    Gruss Gerhard
    Trade Republic - Provisionsfrei Aktien handeln
    10 Antworten
    2434 Aufrufe
    22. November 2017, 13:30:58 von web28
    3 Antworten
    2120 Aufrufe
    05. Mai 2010, 23:55:38 von Tomcraft