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
133
63
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 Fehler beim JTL-Worker – "Der Remoteserver hat einen Fehler zurückgegeben: (502) Ungültiges Gateway" (Shopify) JTL-Wawi - Fehler und Bugs 2
Neu JTL Debug 2.0.4 und Shop 5.5.2 - Fehler 500 Plugins für JTL-Shop 3
Fehler in der JTL-Wawi-Anzeige, ob ein Artikel bereits einem Onlineshop zugeordnet wurde. JTL-Wawi 1.10 5
Fehler beim Belegabruf JTL2Datev aus JTL / "Belegkopf-ExtAuftrag...." JTL-Wawi 1.10 2
Neu Fehler bei Anbindung JTL Wawi und JTL Shop 5 JTL-Shop - Fehler und Bugs 1
Neu Anbindung JTL-Connecor an WooCommerce nicht möglich - JSON-Fehler in der WAWI WooCommerce-Connector 2
Neu JTL wawi Fehler beim Zugriff auf die Datenbank / Datenbankverwaltung aber funktioniert Installation von JTL-Wawi 3
Neu JTL Worker Fehler: "TM" Zeichen darf nicht in einem Namen enthalten sein JTL-Wawi - Fehler und Bugs 1
Neu DHL Fehler "Großkundenempfänger" JTL-ShippingLabels - Fehler und Bugs 0
Neu NOVA Theme Fehler - 5.5.2 JTL-Shop - Fehler und Bugs 0
Neu Upload-Dateien: Fehler beim Abgleich Onlineshop-Anbindung 0
Neu Paypal Plugin läßt sich nicht installieren - SQL Fehler Plugins für JTL-Shop 0
Neu Plugin Fehler JTL-Shop - Fehler und Bugs 7
Neu Fehler DHL Auslandsversand JTL-ShippingLabels - Fehler und Bugs 12
Neu Mit Ameize nutze: Freie Position zum Auftrag hinzufügen verursacht Fehler JTL-Ameise - Fehler und Bugs 3
Neu Barrierefreiheit WAVE-Report mit 1 Kontrast-Fehler im Auswahlmenü Templates für JTL-Shop 1
Neu Otto Import über Eazyauction - Fehler 100096 - SWITCH_API_VERSION User helfen Usern - Fragen zu JTL-Wawi 12
Neu Export der Artikel - Fehler beim Export!? JTL-POS - Fehler und Bugs 0
Neu Fehler Erstabgleich - Konflikt mit der FOREIGN KEY-Einschränkung Shopify-Connector 2
In Diskussion Workflow kurze Pause per Batch - Fehler "Die Eingabeumleitung wird nicht unterstützt" JTL-Workflows - Ideen, Lob und Kritik 6
Neu Fehler Meldung beim Abgleich Shopware-Connector 4
Neu Fehler beim Aktualisieren einer bestehenden Bestellung mit Ameize JTL-Ameise - Fehler und Bugs 16
Neu Connector funktioniert seit Fehler E-Mail nicht mehr Shopify-Connector 3
Neu Update von 1.9.8.0 auf 1.10.11.0 läuft auf Fehler JTL-Wawi - Fehler und Bugs 2
Neu DATEV Rechnungsdatenservice 2.0 vs. 1.10.10.3 WAWI fehler!? JTL-Wawi - Fehler und Bugs 5
Neu 1.10.11.0 - Fehler - Artikel - Filter JTL-Wawi - Fehler und Bugs 0
Import Fehler! Der Vorgang wurde abgebrochen! JTL-Wawi 1.10 24
xRechnung - Fehler IBAN JTL-Wawi 1.10 5
In Diskussion Rechnung per mail / Workflow gibt Fehler aus JTL-Workflows - Fehler und Bugs 6
Neu Shopify Connector Fehler bezüglich "unique key" bei den Kategorien Shopify-Connector 5
Neu Fehler bei der Datenbank Sicherung Export JTL-Wawi - Fehler und Bugs 3
Neu "Die ConnectionString-Eigenschaft wurde nicht initialisiert" Fehler bei Zugriff über VPN JTL-Wawi - Fehler und Bugs 6
Neu Kontaktformular – „Bitte warten Sie einen Moment“-Fehler Allgemeine Fragen zu JTL-Shop 3
Neu Aufträge importieren Fehler / Bug Testlauf - Import JTL-Ameise - Fehler und Bugs 5
Neu Fehler oder nicht möglich Amazon-Anbindung - Fehler und Bugs 0
Neu Fehler wenn Hersteller gesendet werden WooCommerce-Connector 9
Neu Cronjob bringt mir Fehler JTL-Shop - Fehler und Bugs 0
Fehler beim Lizenz Abgleich: Fehler beim Vergleichen von zwei Elementen im Array JTL-Wawi 1.10 1
Beantwortet (gelöst) Fehler Shopify Abgleich - Bestellungen werden plötzlich nicht mehr importiert / Artikel wahrscheinlich auch nicht aktualisiert Shopify-Connector 2
Neu Rechnungsdatenservice Fehler USt. ID nicht geprüft oder ungültig / Fehler Debitorennr. Schnittstellen Import / Export 0
Neu 404-Fehler bei SEO-URLs mit Schrägstrich (/) - trotz Update auf 5.4.1 JTL-Shop - Fehler und Bugs 5
Neu Fehler bei Abgleich WooCommerce-Connector 12
Seit Version 1.10.10.3 folgenden Fehler: Verschieben der Positionen in Angeboten und Aufträgen nicht mehr möglich JTL-Wawi 1.10 13
Neu Ebay Abgleich 22.04.2025 Fehler eBay-Anbindung - Fehler und Bugs 15
Fehler beim Mailen von Rechnungen JTL-Wawi 1.10 18
Neu Seit Update auf 1.10.10.3: Fehler bei Preis berechnung JTL-Wawi - Fehler und Bugs 25
Neu Login in das Shopbackend nicht Möglich / Cookie-Fehler JTL-Shop - Fehler und Bugs 2
Neu JTL5 Fehler im Routing und oder Filter: Google Search konsole meldet Fehler in itemListElement Allgemeine Fragen zu JTL-Shop 3
Neu Fehler 10115 eBay-Anbindung - Fehler und Bugs 0
Neu DHL Label erstellen Fehler "Die HTTP-Anforderung wurde mit Clientauthentifizierungsschema "Anonymous" nicht zugelassen." JTL-ShippingLabels - Fehler und Bugs 39

Ähnliche Themen