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

fhinok

Aktives Mitglied
9. September 2021
4
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

Gut bekanntes Mitglied
Mitarbeiter
1. April 2022
62
30
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
4
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
JTL WAWI 1.8.12.2 Shopware 6 / Connector Abgleich Fehler Gelöste Themen in diesem Bereich 3
Nach Aufruf von Stored Procedure 'Kunde.spKundeUpdate' schwere Fehler in JTL (z.B. Kundenliste, Workflow-Editor) JTL-Wawi 1.8 2
Neu JTL-Shop 5.3.0 RC3 Fehler nach Update Portlet Banner, fehlendes Produkt JTL-Shop - Fehler und Bugs 0
Fehler beim Datenbank - JTL WAWI Connector WooCommerce-Connector 1
Neu jtl wawi Versanddatenexport Originalmeldung: In der Sendung trat mindestens ein harter Fehler auf. Code: 1101 Schnittstellen Import / Export 2
Neu ebay Fehler 240 - nicht öffentliche Bieter-/Käuferliste eBay-Anbindung - Fehler und Bugs 2
Neu Der Remoteserver hat einen Fehler zurückgegeben: (500) Interner Serverfehler wir bitten Hilfe Gambio-Connector 6
Neu Fehler beim Import (Ameise) von Brutto-VK JTL-Ameise - Ideen, Lob und Kritik 9
Neu PLZ Prüfung Fehler - Shop 5.3.1 JTL-Shop - Fehler und Bugs 2
Neu Sitemap ist HTML - Sitemap kann gelesen werden, enthält aber Fehler / Google Web Master Tool Allgemeine Fragen zu JTL-Shop 6
Neu Fehler beim Hochladen der Datei JTL-Shop - Fehler und Bugs 0
Barcodescanner Fehler mit ein "U" am Ende JTL-Wawi 1.8 0
Fehler beim erstellen von Aufträgen JTL-Wawi App 2
Neu Fehler bei Sprach- und Währungsumstellung Allgemeine Fragen zu JTL-Shop 0
Fehler beim importieren eines Backups JTL-Wawi 1.8 2
Neu Fehler: Footer/Boxen - Kategoriefilter löscht Boxensortierung Allgemeine Fragen zu JTL-Shop 0
Neu Stripe - Fehler icomoon.ttf Plugins für JTL-Shop 0
Neu Gravierender Fehler in der Shop Software Betrieb / Pflege von JTL-Shop 3
Neu Fehler beim Bearbeiten von PLZ & Ort im Kundenkonto (Update 5.3.0) JTL-Shop - Fehler und Bugs 6
Neu Fehler bei Bearbeitung von Designvorlagen eBay-Designvorlagen - Fehler und Bugs 0
Fehler beim Rendering der Attribute bei SCX Abgleich kaufland.de - Anbindung (SCX) 4
Neu Smarty-Fehler im Logfile JTL-Shop - Fehler und Bugs 1
Neu Fehler beim Zahlungsabgleich - Zahlungsmodul - Wawi 1.5.55.6 Gelöste Themen in diesem Bereich 14
Neu Fehler: Sonderpreis falsch formatiert, wird nicht importiert; obwohl importiert genau wie exportiert User helfen Usern - Fragen zu JTL-Wawi 0
Neu Fehler beim erstellen von Aufträgen. Digitale Unterschrift im Auftrag. JTL-Wawi - Fehler und Bugs 0
Neu Microsoft Remote Desktop Fehler Cloutapp Desktop und Lauscher JTL-Wawi - Fehler und Bugs 3
Neu OPC - Video Portlet Fehler (v.5.3.0) JTL-Shop - Fehler und Bugs 0
Neu Logfile: SQL Fehler, aber warum? JTL-Shop - Fehler und Bugs 2
In Diskussion Fehler beim Versenden von E-Mails: "Could not convert socket to TLS" JTL-POS - Fehler und Bugs 2
Neu Google Listings & Ads image Fehler WooCommerce-Connector 2
Installations Fehler (SQLSTATE[HY000] [2002] No such file or directory ) Einrichtung JTL-Shop5 1
In Diskussion Gesamt Ban Rabatt zuweisen - Fehler? JTL-POS - Fehler und Bugs 4
Kein Fehler von 1.6.39 zu 1.8.12 JTL-Wawi 1.8 4
Umzug Datenbank Fehler aufgrund unterschiedlicher Versionen Einrichtung JTL-Shop5 1
Neu SQL-Fehler bei Volltextsuche und Sonderzeichen JTL-Shop - Fehler und Bugs 0
Neu E-Mail mit Strato - Fehler normal? Betrieb / Pflege von JTL-Shop 6
Neu 21916639, 21916585, 21916664 Fehler Gelöste Themen in diesem Bereich 4
Neu Inaktive Artikel werden mit 404 Fehler bei Google Search angezeigt Allgemeine Fragen zu JTL-Shop 2
Neu Fehler Übertragung Sendungsnummern an eBay JTL-Wawi 1.7 2
Neu Fehler SQL-Schema importieren bei Neuinstallation Installation / Updates von JTL-Shop 7
Was bedeutet dieser Fehler? - Jtlwa wai update to 1.8.11 JTL-Wawi 1.8 2
Workflow: Mahnungen - Fehler JTL-Wawi 1.8 5
Bug? Fehler EAN (Kaufland.cz) auf Kaufland.de aber korrekt kaufland.de - Anbindung (SCX) 1
Neu Fehler nach Serverumzug Gelöste Themen in diesem Bereich 3
Neu Datenbank Upgrade Fehler(#7110FFD83C0136E0) JTL-Wawi - Fehler und Bugs 0
Neu Webp Bild aufruf Fehler beim ersten mal laden JTL-Shop - Fehler und Bugs 2
Neu Jtl OAuth2 JTL-ShippingLabels - Ideen, Lob und Kritik 0
Neu JTL wählt falschen Drucker Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu JTL Wawi berücksichtigt bei Bestellvorschlag indirekten Zulauf aus angemeldeter Retoure nicht JTL-Wawi - Ideen, Lob und Kritik 0
Neu Anfrage: Sendy Plugin für JTL Shop 5 Plugins für JTL-Shop 0

Ähnliche Themen