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
82
43
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
schwerwiegender JTL-Vouchers Fehler in Ihrem Shop JTL-Vouchers - Fehler und Bugs 3
Neu Update auf 5.3.3 - JTL Widgets erzeugt Fehler in CampaingController.php JTL-Shop - Fehler und Bugs 2
Neu amazon / Ein Fehler ist aufgetreten, bitte beim JTL-Support melden JTL-Wawi - Fehler und Bugs 295
Neu JTL-Connector bricht Bilderabgleich mit Fehler ab WooCommerce-Connector 0
JTL WAWI 1.8.12.2 Shopware 6 / Connector Abgleich Fehler Gelöste Themen in diesem Bereich 3
[BUG]🪲 -Auftrag nicht mehr Speicherbar- Fehler bei Auslieferung einer Stückliste über mehrere Lieferanten JTL-Wawi 1.9 4
Neu Amazon Fehler: "Listenpreis mit Steuern" Amazon-Lister - Fehler und Bugs 2
Lizenzabruf Fehler 1.9.4.6 JTL-Wawi 1.9 4
Neu Fehler in Abonenntensuche Newsletter JTL-Shop - Fehler und Bugs 0
Neu email smtp Fehler Allgemeine Fragen zu JTL-Shop 0
Neu Kategorie Beschreibung Import für andere Sprachen Fehler JTL-Ameise - Fehler und Bugs 2
Neu Fehler bei SQL-Abfrage durch Aufgabenplanung Gelöste Themen in diesem Bereich 12
Neu 5.2.3 ADMINISTRATION -> sitemap -> sitemap_0.xml.gz -> in ArtikelURL Fehler JTL-Shop - Fehler und Bugs 0
Neu TSE Fehler PIN_BLOCKED JTL-POS - Fehler und Bugs 1
Neu Einbindung von Videos führt zu 500 Fehler JTL-Shop - Fehler und Bugs 5
Neu CSS Gutschein Premium - Einzweckgutscheine - Fehler beim Einlösen Plugins für JTL-Shop 1
Gelöst Fehler in den Steuereinstellungen Allgemeine Fragen zu JTL-POS 3
[Error][Code:21920380] wir erhalten diesen Fehler eBay-Anbindung - Fehler und Bugs 1
Neu 26.06.2024 Abgleich Fehler Amazon-Anbindung - Fehler und Bugs 43
Neu Fehler bei der Anlage einer Ebay-Angebotsvorlage - Nicht genug Quoten verfügbar um Befehl zu verarbeiten... JTL-Wawi - Fehler und Bugs 1
Beantwortet Fehler im Workflow Bei Speichern Lieferschein JTL-Workflows - Fehler und Bugs 1
Fehler beim ShippingLabels JTL-Wawi 1.9 1
Neu Fehler beim Zahlungsabgleich - Zahlungsmodul - Wawi 1.5.55.5 Deutsche Bank JTL-Wawi - Fehler und Bugs 3
Neu SHOP 5.1.5. | Fehler bei Aufpreis Versandarten | sollte OHNE Mehrwertsteuer sein JTL-Shop - Fehler und Bugs 0
Fehler bei der verbindung der server anfrage am Arbeitzplatz JTL-Wawi 1.9 2
Neu Fehler Abgleich Shopware 6 Shopware-Connector 3
Neu Google-Shopping-Plugin Fehler Plugins für JTL-Shop 0
Neu Shop update vom 5.2.4 auf 5.3.1 - Fehler Kampagne JTL-Shop - Fehler und Bugs 0
Neu Umstellung 4.05 auf 5.2.5 - div. Fehler JTL-Shop - Fehler und Bugs 4
Neu SQL Fehler - Woher stammt diese Abfrage JTL-Shop - Fehler und Bugs 7
Neu Fehler beim Artikelimport Sondertyp JTL-Ameise - Fehler und Bugs 3
[WAWI-API] Fehler beim Updaten eines Item-Customfield JTL-Wawi 1.8 2
Neu Benachrichtigung anfordern - Fehler: Der eingegebene Bestätigungscode ist nicht bekannt JTL-Shop - Fehler und Bugs 0
Neu ebay Fehler 240 - nicht öffentliche Bieter-/Käuferliste eBay-Anbindung - Fehler und Bugs 5
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
Neu Artikel aus JTL können mit Duplicate Entry for key primary nicht abgeglichen werden PrestaShop-Connector 0
Neu JTL Start ab 01.09.2024 Gelöste Themen in diesem Bereich 6
[Bug] 🐞 Verkauf -> Rechnung -> Filter Dropdown [Alle Rechnungen, Rechnungen aus JTL Wawi, Importierte Rechnungen] Rotes X JTL-Wawi 1.9 0
Neu JTL Editionen - was passiert mit alten Systemen Smalltalk 2
Neu Keine DPD label über JTL Packtisch JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 0
Neu JTL Shop 5 - Unsichtbare Kategorie Allgemeine Fragen zu JTL-Shop 1
Neu JTL-Genossenschaft Smalltalk 11
Neu JTL Neue Angebotsstruktur - Abzocke oder gut? User helfen Usern - Fragen zu JTL-Wawi 13
Wichtig 👉 Vorabinfos zu unseren neuen JTL-Editionen News, Events und Umfragen 1002
Neu "Die neuen JTL-Editionen" Smalltalk 60
Problem: Unterschiedliche Rechnungslayouts basierend auf Versandart in JTL-Wawi JTL-Wawi 1.8 5

Ähnliche Themen