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
Neu Unterstützung bei JTL FFN Retouren – Fehler in der API-Übertragung von Returnless Starten mit JTL: Projektabwicklung & Migration 0
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 Seit Update auf 1.10.15.0: eBay Fahrzeugverwendungsliste Fehler eBay-Anbindung - Fehler und Bugs 0
Fehler seit Version 1.10.15 bei Artikel Auslieferung über Bestandsmenge JTL-Wawi 1.10 0
Beantwortet Workflow Datei schreiben Dateiname per Dotliquid Fehler Illegales Zeichen im Pfad. callerMemberName : WriteFile JTL-Workflows - Fehler und Bugs 1
Neu Fehler eBay-Abgleich eBay-Anbindung - Fehler und Bugs 19
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 37
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 JTL Shop Mailversand geht nicht mehr - Address blicked Allgemeine Fragen zu JTL-Shop 0
JTL-WaWi Konfigurator Bestandteile in WMS zusammenfassen JTL-Wawi 1.11 1
Störung der Domain Infrastruktur JTL-Software Störungsmeldungen 0
Neu Woocommerce + JTL Connector + Litespeed Cache WooCommerce-Connector 0
Neu BMEcat Schnittstelle JTL-Wawi [DEV] Schnittstellen Import / Export 0
Neu JTL-MeetUp mit eBay in Berlin Messen, Stammtische und interessante Events 0
Neu JTL-Shop: Veraltete URLs & Weiterleitungen in der Sitemap – wie lösen? Allgemeine Fragen zu JTL-Shop 0
Neu Coupon-Steuer Plugin: Korrekte Steuerberechnung für JTL-Shop Coupons Plugins für JTL-Shop 1
Neu JTL Coupon Alternative - was gibt es so? Plugins für JTL-Shop 2
Neu 0,1% an der Kasse erstellte Kunden nicht synchronisiert mit JTL Wawi Allgemeine Fragen zu JTL-POS 0
Neu 20.11.2025 Hosting JTL Shop Tod :+( Allgemeine Fragen zu JTL-Shop 11
Neu How to properly update order status through JTL Shop plugin? Allgemeine Fragen zu JTL-Shop 4
JTL AGBs und Gewährleistungsrechte / Schadensersatz JTL-Wawi 1.11 1
Neu JTL Connector - Shopware 5 / 6: keine Erstübertragung der Daten Shopware-Connector 2
Neu SUCHE Freelancer für JTL WAWI Anbindung an WooCommerce und Einrichtung Dienstleistung, Jobs und Ähnliches 2

Ähnliche Themen