Neu Fehler JTL\\Catalog\\Category\\MenuItem::getImageWidth(): Return value must be of type int, null returned

fhinok

Aktives Mitglied
9. September 2021
5
0
Momentan häufen sich die folgenden Einträge in unserem Apache Log:
eventtechnik3000.ch [Fri Apr 26 07:35:38.690664 2024] [-:error] [1] [a] FastCGI: server "/home/clients/C_ID/.config/apache/eventtechnik3000.ch/.fpm/php5.external" stderr: PHP message: PHP Fatal error: Uncaught TypeError: JTL\\Catalog\\Category\\MenuItem::getImageWidth(): Return value must be of type int, null returned in /home/clients/C_ID/sites/ shop/includes/src/Media/MultiSizeImage.php:228
eventtechnik3000.ch [Fri Apr 26 07:35:38.690690 2024] [-:error] [1] [a] FastCGI: server "/home/clients/C_ID/.config/apache/eventtechnik3000.ch/.fpm/php5.external" stderr: Stack trace:
eventtechnik3000.ch [Fri Apr 26 07:35:38.690695 2024] [-:error] [1] [a] FastCGI: server "/home/clients/C_ID/.config/apache/eventtechnik3000.ch/.fpm/php5.external" stderr: #0 /home/clients/C_ID/sites/shop/templates_c/MyMove/cc5a21ebb43070d9559d7bc2625008e67ccec687_0.file.image.tpl.php(57): JTL\\Catalog\\Category\\MenuItem->getImageWidth('xs')
eventtechnik3000.ch [Fri Apr 26 07:35:38.690698 2024] [-:error] [1] [a] FastCGI: server "/home/clients/C_ID/.config/apache/eventtechnik3000.ch/.fpm/php5.external" stderr: #1 /home/clients/C_ID/sites/shop/includes/vendor/smarty/smarty/libs/sysplugins/smarty_internal_runtime_inheritance.php(248): Block_70981956966276edf2dac55_75770806->callBlock(Object(JTL\\Smarty\\JTLSmartyTemplateClass))
eventtechnik3000.ch [Fri Apr 26 07:35:38.690700 2024] [-:error] [1] [a] FastCGI: server "/home/clients/C_ID/.config/apache/eventtechnik3000.ch/.fpm/php5.external" stderr: #2 /home/clients/C_ID/sites/shop/includes/vendor/smarty/smarty/libs/sysplugins/smarty_internal_runtime_inheritance.php(184): Smarty_Internal_Runtime_Inheritance->callBlock(Object(Block_70981956966276edf2dac55_75770806), Object(JTL\\Smarty\\JTLSmartyTemplateClass))
eventtechnik3000.ch [Fri Apr 26 07:35:38.690850 2024] [fastcgi:error] [1] [a] FastCGI: server "/home/clients/C_ID/.config/apache/eventtechnik3000.ch/.fpm/php5.external" stderr: #3 /home/clien...Fatal error: Uncaught TypeError: JTL\\Catalog\\Category\\MenuItem::getImageWidth(): Return value must be of type int, null returned in /home/clients/C_ID/sites/shop/includes/src/Media/MultiSizeImage.php:228
Teilweise mehrere pro Sekunde, teilweise vergeht auch mehr Zeit zwischen den Einträgen. Die Bildgrösse bei JTL\\Catalog\\Category\\MenuItem->getImageWidth('xs') ist nicht immer dieselbe.
Leider kann ich den Fehler nicht gezielt reproduzieren.
Der Fehler trat bereits im Shop Version 5.2.4 auf, momentan sind wir auf 5.3.1.
Bei einer Google Suche nach "jtl shop MenuItem::getImageWidth()" tauchen zwei weiter Shops mit (wahrscheinlich) dem Problem auf.

Hatte sonst noch jemand solche Logeinträge?
Muss ich mich mit dem Problem an den Templateentwickler wenden?
Oder hat wer eine Idee, wo ich suchen könnte?
 

OliverS

Sehr aktives Mitglied
Mitarbeiter
1. April 2022
134
65
Hückelhoven
Meistens sollte es hier helfen alle Caches zu leeren, denn der Fehler wird durch ein ungültiges Bild verursacht. Entweder ein falsch gecachter Bildname, dann reicht das Leeren von Objekt- und Template- Cache (im Backend unter "Administration -> System -> Cache", oder durch ein tatsächlich fehlerhaftes Bild im Bildercache, dann muss dieser ebenfalls geleert werden (unter "Administration -> Fehlerbehebung -> Bilder").

Ich hatte dafür einen auch Hotfix entwickelt, den ich öfter erfolgreich eingesetzt habe:

In der includes/src/Media/MultiSizeImage.php folgende Zeilen (204-215)

PHP:
foreach (Image::getAllSizes() as $size) {
  $path = $this->generateImagePath($size, $number, $source);
  if (!\file_exists(\PFAD_ROOT . $path)) {
     $this->generateImage($size, $number, $source);
  }
  if (!\file_exists(\PFAD_ROOT . $path)) {
    $this->imageDimensions[$number][$size] = $settings[$this->getImageType()][$size];
   } else {
    [$width, $height, $type]               = \getimagesize(\PFAD_ROOT . $path);
    $this->imageDimensions[$number][$size] = ['width' => $width, 'height' => $height];
   }
}

ersetzen mit:

PHP:
foreach (Image::getAllSizes() as $size) {
$path = $this->generateImagePath($size, $number, $source);
  if (!\file_exists(\PFAD_ROOT . $path)) {
    $this->generateImage($size, $number, $source);
  }
  if (!\file_exists(\PFAD_ROOT . $path)) {
    $this->imageDimensions[$number][$size] = $settings[$this->getImageType()][$size];
  } else {
    [$width, $height, $type]               = \getimagesize(\PFAD_ROOT . $path);
    if ($width == 0 || $width === NULL || $height == 0 || $height === NULL) {
      $this->generateImage($size, $number, $source);
      [$width, $height, $type]               = \getimagesize(\PFAD_ROOT . $path);
      if ($width == 0 || $width === NULL || $height == 0 || $height === NULL) {
        $width = 1;
        $height = 1;
      }
    }
    $this->imageDimensions[$number][$size] = ['width' => $width, 'height' => $height];
    }
}

Damit wird das Bild neu generiert, wenn es für Breite oder Höhe einen Wert von 0 liefert. Und wenn es nach dem Generieren immer noch einen Wert von 0 (oder gar keinen) liefert, dann wird beides einfach auf 1 gesetzt. Im letzteren Fall wird das Bild dann zwar nicht angezeigt, aber es sollte keinen Fatal mehr geben.
 

fhinok

Aktives Mitglied
9. September 2021
5
0
Vielen Dank für die Antwort und den Hotfix, hab denn mal so eingebaut und beobachte die Situation weiter.
 
Ähnliche Themen
Titel Forum Antworten Datum
Fehler beim Verknüpfen von JTL-FFN mit Wawi – „Anmeldung nicht möglich“ JTL-Wawi 1.11 1
Neu JTL Track&Trace API Fehler derzeit? seit 15:50 Uhr JTL-Track&Trace - Fehler und Bugs 2
Neu Aktuellen JTL Shop installieren *Fehler* Installation / Updates von JTL-Shop 0
Neu Fehler beim Übertragen von Bildern JTL - Shopware Thumbnail Problem height width dürfen nicht leer sein Shopware-Connector 11
Neu Artikelseiten 500 HTTP Fehler PayPal Plugin 2.1.0 JTL Shop 5.4.0 Plugins für JTL-Shop 4
Neu Fehler eBay-Abgleich eBay-Anbindung - Fehler und Bugs 17
Neu Anmeise Mediendateien Import Fehler JTL-Ameise - Fehler und Bugs 4
Wawi API REST-Server lässt sich nicht einrichten / Fehler 404 JTL-Wawi 1.11 1
Neu Fehler beim Shopabgleich - Duplicate Entry Allgemeine Fragen zu JTL-Shop 2
Neu eazyAuction holt keine Bestellung mehr von Amazon ab, im Logbuch "Fehler" ohne weitere Angabe Amazon-Anbindung - Fehler und Bugs 1
Neu FBA-Lagerbestand wird nicht mehr eingelesen - Fehler beim Verarbeiten von Amazon Events - FbaInventoryImported: Das angegebene Argument liegt außerha Amazon-Anbindung - Fehler und Bugs 13
Fehler Export PDF Datei / Senden per Email JTL-Wawi 1.11 2
Neu Amazon Bestellungen werden nicht abgerufen - Fehler bei Account 'XXX' []: Ihr Account ist nicht aktiv. Amazon-Anbindung - Fehler und Bugs 5
Neu Amazon eazyAuction Lizenz Fehler? Amazon-Anbindung - Fehler und Bugs 1
AmzLister 2.0 Fehler 99022 beim Vaterartikel Amazon-Lister - Fehler und Bugs 0
Bis alle Fehler behoben sind, nicht installieren. JTL-Wawi 1.11 8
Neu Abgleich bricht mit Fehler 503 ab Shopware-Connector 3
Verkauf - Fehler beim Laden der Daten JTL-Wawi 1.11 6
Neu Tagesabschluss Fehler BAR Bruttoumsatz / Fehler Zahlungsart BAR JTL-POS - Fehler und Bugs 0
Neu Worker Fehler - Fehlende Relation JTL-Wawi - Fehler und Bugs 1
Beantwortet Fehler bei Erstimport: Explicit Move is not supported for HerstellerSortMode.Alphabetical Shopware-Connector 1
Neu Bestellvorgang – Land und Postleitzahl werden nicht erkannt und HTTP-Fehler 500 bei der Lieferadresse JTL-Shop - Fehler und Bugs 11
Neu Fehler beim Bearbeiten der eMail-Templates JTL-Shop - Fehler und Bugs 2
Neu Fehler nach Update Produktseiten nicht mehr aufrufbar Installation / Updates von JTL-Shop 1
Neu Laufweg nicht mehr korrekt. Wir finden den Fehler nicht Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 0
Neu SQL Code für GPSR Felder (Kaufland) zeigt Fehler + wird daher nicht übertragen kaufland.de - Anbindung (SCX) 0
Neu Fehler 500 im Child-Template nach Umstieg von 5.3.3 auf 5.5.3 Templates für JTL-Shop 8
Neu VCS Fehler: keine Belege wegen eines deaktivierten Amazon Umsatzsteuer-Berechnungsservices Amazon-Anbindung - Fehler und Bugs 1
Neu Lister 2.0 "Verkäuferinventar anfordern" Fehler Amazon-Lister - Fehler und Bugs 0
Neu PayPal - PayPal Checkout - 221 – SQL Fehler Plugins für JTL-Shop 0
Neu Fehler bei Abgleich mit Shopify Shopify-Connector 5
Neu unicorn2 Etsy listen nicht möglich - Fehler Artikelgewicht Schnittstellen Import / Export 8
Neu Fehler bei Versandbestätigung seit 28.07.2025 Amazon-Anbindung - Fehler und Bugs 3
Neu Keine automatische Übernahme von Änderungen in JTL trotz Abgleich? Onlineshop-Anbindung 3
Neu JTL-POS Absturz nach Benutzeranmeldung JTL-POS - Fehler und Bugs 0
Neu Dokumentation: Kundenverknüpfung JTL-Wawi (Version 1.10.15.0) zu JTL-Shop JTL-Shop 5.2 Onlineshop-Anbindung 0
Einzelartikel als Kindartikel zu einem neuen Vaterartikel zusammenführen (JTL-Wawi + Shopware Connector) JTL-Wawi 1.8 0
Neu Handhabung JTL Wawi - zu Datev Unternehmen Online User helfen Usern - Fragen zu JTL-Wawi 1
Neu JTL-Wawi Aufträge die mit JTL-POS bezahlt wurde tauchen im Tagenabschluss auf JTL-POS - Fehler und Bugs 7
Neu JTL Coupon - Rabatt direkt am Artikel Allgemeine Fragen zu JTL-Shop 0
Neu Preisfehler Anzeige JTL Shop 5 JTL-Shop - Fehler und Bugs 1
Neu 🚀 Pilotkunden gesucht: HS Dynamic Pricing Plugin für JTL-Shop Plugins für JTL-Shop 0
Neu Werden Bilder aus shopify in JTL geladen? Shopify-Connector 4
Neu Bitte legen Sie eine Retoure in JTL-Wawi an, damit eine korrekte Zuordnung zu den Stücklistenartikeln möglich ist. - WMS Retoure JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 0
Neu JTL-Ameise Export "Artikeldaten WEEE-Richtlinie" - unvollständige Datenmenge JTL-Ameise - Fehler und Bugs 0
Neu Probleme bei WooCommerce JTL-Connector, keine Aktivierung möglich, Bestands-Shop lahmgelegt Onlineshop-Anbindung 0
Neu Kapazitäten frei für Routineaufgaben JTL Wawi Dienstleistung, Jobs und Ähnliches 0
Neu 🚀 JTL Shop Performance Check (Free): Kostenloses Plugin Plugins für JTL-Shop 0
Datenabgleich von WooCommerce auf JTL Wawi 1.9.7.0 JTL-Wawi 1.9 0
JTL WMS Server startet nicht JTL-Wawi 1.11 2

Ähnliche Themen