Neu Google Pay und Konfiguration mit Freiposition stürzt ab *Hotfix*

  • Ersteller des Themas Ersteller des Themas Aaron
  • Erstellungsdatum Erstellungsdatum

Aaron

Sehr aktives Mitglied
25. Oktober 2012
263
30
Google GPay im PayPal Checkout Plugin Version 2.3.1 mit Freiposition in einem Konfigurationsartikel stürzt ab Error 500. Fehlerbeschreibung:

Wenn der Artikel in der aktuellen Sprache des Kunden keinen Namen hat (oder der Name aus der Datenbank leer ist), wird $name zu null. Dieses null wird an getNameWithQuantity übergeben, und PHP bricht sofort mit dem fatalen Fehler ab.

Hotfix der das Problem löst ( auf eigene Gefahr )

$taxRate = CartItem::getTaxRate($cartPos);
$name = \is_array($cartPos->cName) ? $cartPos->cName[Shop::getLanguageCode()] : $cartPos->cName;
$netto = $cartPos->fPreis * $cartPos->nAnzahl;

ersetzen durch:

$taxRate = CartItem::getTaxRate($cartPos); // Verhindert, dass ein "null"-Wert oder ein nicht existierender Sprach-Key zum Absturz führt
$name = \is_array($cartPos->cName) ? ($cartPos->cName[Shop::getLanguageCode()] ?? '') : ($cartPos->cName ?? ''); // Fallback: Wenn der Name komplett leer ist, nutze die Artikelnummer oder standardmäßig "Artikel" if (empty($name)) { $name = !empty($cartPos->cArtNr) ? $cartPos->cArtNr : 'Artikel'; } $netto = $cartPos->fPreis * $cartPos->nAnzahl;

Achtung bei Updates: Diese Änderung ist ein manueller Hotfix. Sobald Sie das PayPal-Plugin über den JTL-Extension-Store aktualisieren, wird diese Datei überschrieben und Ihre Änderung geht verloren.
Da es sich hierbei um einen klaren Programmierfehler im Plugin handelt (fehlende Absicherung gegen null unter PHP 8), sollten Sie das Plugin updaten, sobald JTL eine offizielle Version herausbringt, die diesen Fehler behebt. Bis dahin rettet dieser Hotfix Ihren Checkout.
 
  • Gefällt mir
Reaktionen: recent.digital

Ähnliche Themen