Wenn man das Modul eh schon neu aufstellen muss... Verarbeitung für mehrere Labels hinzufügen damit man nicht zu Shipcloud gezwungen ist, war zu viel verlangt, wa.
Beim erzeugen von internationalen Versandlabels in dem neuen DHL Modul bekommen wir immer diese Fehlermeldung (siehe Anhang). Abrechnungsnummern sind eingetragen für national und international. Hat jemand eine Idee wie das behoben werden kann? Gruß Kathrin
...genau das habe ich auch seit dem ich das neue Modul installiert habe. Mit dem alten Modul kommt diese Fehlermeldung nicht. Irgendwie seltsam. Scheint am Modul zu liegen, wenn das alte fehlerfrei läuft. Ich mach jetzt immer ein Häckchen bei Fehler ignorieren, um das Etikett drucken zu können. @gambio: Könnt Ihr das bitte mal prüfen. Gruß Andreas
Das kann ich (zumindest teilweise) bestätigen. Cloudshop, DHL-Kleinpaket: Eingabe Versandgewicht 0,5 kg --> Label "0.5 kg" Eingabe Versandgewicht 0,2 kg --> Label "0.201 kg"
ist doch ganz einfach: Module - Modulcenter - DHL Geschäftskundenversand V4 - Bearbeiten - Feld Referenz - %orders_id%
Nein, so einfach ist es leider nicht. Es ist gewünscht, dass nur der Text "Order No." weg soll (siehe Screenshot). Wenn man %orders_id% im Modul raus nimmt, passiert nichts (jedenfalls bei mir nicht, habe mehrfach Cache geleert). Steht nach wie vor das gleiche wie vorher da - scheinbar hat die Pflege dieses Feldes gar keine Auswirkung?
Das werdet Ihr nicht ändern können, da der Text fest im Sourcecode übergeben wird. Das geht nur, wenn man die Datei überlädt, wobei man dann nicht weiß, warum dieser Text übergeben wird und ob das evtl. einen "tieferen Sinn" hat
Ich kann das gut verstehen, wenn ich etwas online bestelle, schaue ich mir zuerst immer ganz genau den Adressaufkleber an. Texte wie Order No oder ähnliches würden mich sicherlich dazu bewegen, bei dem Shop nie wieder zu bestellen. Daher sehe ich hier dringend Handlungsbedarf, noch vor Widerrufsbutton und Gewährleistungs- / Garantielabel.
Gestern runtergeladen, installiert und läuft. Kein 'order no.', Gewicht alles richtig bisher (ca 10 Pakete geprüft). Nahtloses weiterarbeiten möglich. Danke PS: v4.0.10 selfhosted, noch Shop v4.9.4.1
Der Text "Order No." wird in der Datei DHLBizCustomerShipping/Admin/Classes/Controllers/DHLBizCustomerShippingController.inc.php fest gesetzt. Ich habe ehrlich gesagt die Datei manuell angepasst und den Text zumindest auf deutsch ausgegeben. Mir ist bewusst, dass das nicht updatesicher ist, aber mich hat es auch gestört und das Überladen der Stelle war mir zu umständlich. Aber Vorsicht! Die neue DHL Schnittstelle erwartet für die Referenz mindestens 8 Zeichen. Je nachdem wie lang z.B. eure Bestellnummer ist, führt es zum Fehler wenn ihr den Text ganz entfernt.
PHP 8 Warning in DHL Geschäftskunden Versand: Undefined array key "shipping_dimension_enabled" Unter PHP 8 erzeugt das DHL-Modul (DHLBizCustomerShipping) folgende Warnung im Error-Handler-Log: [WARNING] Undefined array key "shipping_dimension_enabled" file: GXModules/Gambio/DHLBizCustomerShipping/Admin/Classes/DHLBizCustomerShippingShipment.inc.php line: 316 Ursache: In der Methode setDimension(array $dimensions) wird direkt auf den Array-Schlüssel shipping_dimension_enabled zugegriffen, ohne zu prüfen, ob dieser existiert. Fehlt der Schlüssel (z. B. wenn für die Versandart keine Maße konfiguriert sind), wirft PHP 8 die Warnung. Datei: GXModules/Gambio/DHLBizCustomerShipping/Admin/Classes/DHLBizCustomerShippingShipment.inc.php, Zeile 316 Vorher: if ((bool)$dimensions['shipping_dimension_enabled'] !== true) { Nachher: if ((bool)($dimensions['shipping_dimension_enabled'] ?? false) !== true) { Erläuterung: Mit dem Null-Koaleszenz-Operator ?? false wird ein fehlender Schlüssel auf false gesetzt, bevor die (bool)-Umwandlung erfolgt. Der Fix ist verhaltensneutral: Ein nicht gesetzter Schlüssel galt in PHP ohnehin implizit als null, und (bool)null === false — also exakt der Wert, den ?? false jetzt explizit liefert. Die Logik bleibt unverändert, nur die Warnung entfällt. Passend dazu nutzen die direkt folgenden Zeilen 319–321 (shipping_dimension_width/height/length) bereits dasselbe Muster mit ?? 0. Getestet mit PHP 8.2, php -l ohne Fehler, Shop läuft normal weiter.
In der Datei DHLBizCustomerShipping/Admin/Classes/Controllers/DHLBizCustomerShippingController.inc.php steht bei mir in Zeile 804 (übrigens zudem mit fehlendem Leerzeichen): PHP: $shipment->setCustomerReference('Order No.' . $postData['customer_reference']); Das habe ich geändert zu: PHP: $shipment->setCustomerReference('Bestellnr. ' . $postData['customer_reference']);
In der neuen Version der DHL API muss das Feld „Reference“ eine Länge von 8 bis 35 Zeichen haben. In der bisherigen Version bestand diese Anforderung nicht. Um die Kompatibilität mit der neuen Version sicherzustellen, sind wir daher verpflichtet, dem Referenzwert einen zusätzlichen Präfix hinzuzufügen. In einem der nächsten Updates werden wir die Möglichkeit bereitstellen, den Prefix direkt über die Konfigurationsseite anzupassen. Dabei müssen die von DHL API vorgegebenen Anforderungen jedoch weiterhin erfüllt werden.