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 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 beim Shopabgleich - Duplicate Entry Allgemeine Fragen zu JTL-Shop 0
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 4
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
Hood SCX Schnittstelle mit Listing Fehler JTL-Wawi 1.10 1
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
JTL Wawi to ShopApotheke Artikelname eigenesfeld JTL-Wawi 1.11 16
Neu Downgrade von 3 JTL-Shop-Lizenzen auf 1 – Frage zur Umstellung der Domains User helfen Usern - Fragen zu JTL-Wawi 1
Neu JTL SHop 5.4 KAtegoriebild Allgemeine Fragen zu JTL-Shop 4
Neu Trainingsmodus für JTL-POS gewünscht JTL-POS - Ideen, Lob und Kritik 0
JTL-Stammtisch am 13.11.25 in Bonn powered by SaphirSolution Messen, Stammtische und interessante Events 0
Neu Wer hat 2025 mit Xentral Erfahrungen gesammelt? Wechsel von JTL‑Wawi in Sicht Smalltalk 2
JTL Wawi und JTL-POS gleichen nicht mehr ab JTL-Wawi 1.11 2
Neu JTL Theme Editor Templates für JTL-Shop 6
Neu 2 Instanzen JTL-POS Einrichtung / Updates von JTL-POS 0
Neu Übergabe Versandlaber an Fulfiller möglich über FFN standallone aber nicht über FFN mit angebundeener JTL-WAWI Arbeitsabläufe in JTL-Wawi 0
Ticket erstellen bei einer Fehlermeldung mit JTL-Start ??? JTL-Wawi 1.9 1
Neu JTL Shipping Server nicht erreichbar JTL-ShippingLabels - Fehler und Bugs 19
Neu Welcher Hoster ist für JTL-Shop 5 empfehlenswert? User helfen Usern 12
Neu 15 Jahre Vapsmoke.ch – unser Weg zu JTL Shops stellen sich vor 1
Neu JTL STAMMTISCH BONN – 13.11.2025 – powered by SaphirSolution Messen, Stammtische und interessante Events 0
JTL Plattform ebay Designvorlage JTL-Wawi 1.11 5
Studio-Webcast E-Com Insights mit JTL: Black Friday Edition am 30.10.25 Messen, Stammtische und interessante Events 0

Ähnliche Themen