v4.9.x PHP error ProductListingModelFactory::ListingItemDetailsCode

Thema wurde von gtdreamshop, 25. Januar 2024 erstellt.

  1. gtdreamshop

    gtdreamshop Erfahrener Benutzer

    Registriert seit:
    5. Juni 2011
    Beiträge:
    114
    Danke erhalten:
    5
    Danke vergeben:
    3
    Ich bekomme zufällig im Styleedit folgenden fehler:
    Code:
    Unexpected error occurred...
    Gambio\Shop\Modules\ProductListing\App\Data\ProductListingModelFactory::createListingItemDetailsCode(): Argument #2 ($value) must be of type string, null given, called in /var/www/vhosts/httpdocs/GambioShop/Modules/ProductListing/App/Data/ProductListingMapper.php on line 366
    einen tag später geht es wieder für einige minuten, dann kommt der wieder.
    manchmal wird auch der ganze shop dadurch lahmgelegt.

    Ich arbeite aber nur mit EAN und die tabelle für isbn etc ist komplett leer und warum bekommt er dann NULL?
     
  2. gtdreamshop

    gtdreamshop Erfahrener Benutzer

    Registriert seit:
    5. Juni 2011
    Beiträge:
    114
    Danke erhalten:
    5
    Danke vergeben:
    3
    Update: Ich glaube das kommt wenn der Shop Offline geschaltet ist.
     
  3. gtdreamshop

    gtdreamshop Erfahrener Benutzer

    Registriert seit:
    5. Juni 2011
    Beiträge:
    114
    Danke erhalten:
    5
    Danke vergeben:
    3
    ne doch nicht, im Styleedit immer wieder der Fehler, kann nix machen.


    Code:
    ######################################################################
    
    [2024-01-29 19:18:12 | CRITICAL] Gambio\Shop\Modules\ProductListing\App\Data\ProductListingModelFactory::createListingItemDetailsCode(): Argument #2 ($value) must be of type string, null given, called in /var/www/vhosts/httpdocs/GambioShop/Modules/ProductListing/App/Data/ProductListingMapper.php on line 366
    context:
      session ID: session-65b7ebe3ebbc02.55782814
      exception:
       class: TypeError
       message: Gambio\Shop\Modules\ProductListing\App\Data\ProductListingModelFactory::createListingItemDetailsCode(): Argument #2 ($value) must be of type string, null given, called in /var/www/vhosts/httpdocs/GambioShop/Modules/ProductListing/App/Data/ProductListingMapper.php on line 366
       code: 0
       file: /var/www/vhosts/httpdocs/GambioShop/Modules/ProductListing/App/Data/ProductListingModelFactory.php:304
       trace:
         0: /var/www/vhosts/httpdocs/GambioShop/Modules/ProductListing/App/Data/ProductListingMapper.php:366
         1: /var/www/vhosts/httpdocs/GambioShop/Modules/ProductListing/App/Data/ProductListingMapper.php:143
         2: /var/www/vhosts/httpdocs/GambioShop/Modules/ProductListing/App/Data/ProductListingMapper.php:96
         3: /var/www/vhosts/httpdocs/GambioShop/Modules/ProductListing/App/Data/ProductListingMapper.php:126
         4: /var/www/vhosts/httpdocs/GambioShop/Modules/ProductListing/App/Data/ProductListingRepository.php:72
         5: /var/www/vhosts/httpdocs/GambioShop/Modules/ProductListing/App/ProductListingService.php:61
         6: /var/www/vhosts/httpdocs/GXMainComponents/Services/Core/ProductListingDisplayService/ProductListingDisplayService.php:66
         7: /var/www/vhosts/httpdocs/GXMainComponents/Services/Core/ProductListingDisplayService/ProductListingDisplayService.php:202
         8: /var/www/vhosts/httpdocs/GXMainComponents/View/ThemeContentViews/listing/LastViewedBoxThemeContentView.inc.php:105
         9: /var/www/vhosts/httpdocs/GXModules/Gambio/Google/GA4/Shop/Overloads/LastViewedBoxThemeContentView/GA4LastViewedBoxThemeContentView.php:32
         10: /var/www/vhosts/httpdocs/GXMainComponents/View/ThemeContentViews/core/ThemeContentView.inc.php:153
         11: /var/www/vhosts/httpdocs/GXMainComponents/View/Boxes/boxes/last_viewed.php:20
         12: /var/www/vhosts/httpdocs/GXMainComponents/View/Boxes/boxes.php:50
         13: /var/www/vhosts/httpdocs/system/classes/menuboxes/MenuBoxesContentControl.php:101
         14: /var/www/vhosts/httpdocs/index.php:62
    extra:
      request:
       method: GET
       uri: /
       software: Apache
       address: 2a01:238:4270:800:cf4:da84:adb6:b4cb
       userAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36
       time: 867
       remoteAddress: f3286f8c03693882d1383cd624d49d4c
      query:
       gm_boosted_category:
      session:
       tpl: Malibu_preview
       language: german
       languages_id: 2
       language_charset: utf-8
       language_code: de
       currency: EUR
       customers_status:
         customers_status_id: 0
         customers_status_name: Admin
         customers_status_image: admin_status.gif
         customers_status_public: 0
         customers_status_min_order: 0
         customers_status_max_order: 0
         customers_status_discount: 0.00
         customers_status_ot_discount_flag: 1
         customers_status_ot_discount: 0.00
         customers_status_graduated_prices: 1
         customers_status_show_price: 1
         customers_status_show_price_tax: 1
         customers_status_add_tax_ot: 1
         customers_status_payment_unallowed:
         customers_status_shipping_unallowed:
         customers_status_discount_attributes: 0
         customers_fsk18_purchasable: 0
         customers_fsk18_display: 1
         customers_status_write_reviews: 1
         customers_status_read_reviews: 1
       customer_id: 1
     
  4. Dominik Dehning

    Dominik Dehning Aktives Mitglied

    Registriert seit:
    21. März 2023
    Beiträge:
    33
    Danke erhalten:
    21
    Danke vergeben:
    28
    Klingt für mich so als wenn es daran liegt, DASS die Tabelle komplett leer ist. Erstell mal für jedes Produkt einen Eintrag in der Tabelle.
     
  5. gtdreamshop

    gtdreamshop Erfahrener Benutzer

    Registriert seit:
    5. Juni 2011
    Beiträge:
    114
    Danke erhalten:
    5
    Danke vergeben:
    3
    soll ich jetzt über 5000 einträge machen? Ich hab ja zum glück nichts anderes zu tun :)
     
  6. Dominik Dehning

    Dominik Dehning Aktives Mitglied

    Registriert seit:
    21. März 2023
    Beiträge:
    33
    Danke erhalten:
    21
    Danke vergeben:
    28
    Das muss nicht alles einzeln erstellt werden.

    Der Dienstleister deines Vertrauens oder auch der Gambio-Support können dir da sicher mit einer SQL-Abfrage helfen.
    Da ich gerade nur am Handy bin kann ich dir gerade keine Vorlage zur Verfügung stellen.
     
  7. Dennis (MotivMonster.de)

    Dennis (MotivMonster.de) G-WARD 2013/14/15/16

    Registriert seit:
    22. September 2011
    Beiträge:
    31.071
    Danke erhalten:
    6.132
    Danke vergeben:
    1.085
    Beruf:
    Mann für alles :)
    Ort:
    Weilburg
    Lass doch einfach den Support schauen, dafür ist er doch da. Die erklären dir auch was sie gemacht haben / was es genau war.
     
  8. Dominik Dehning

    Dominik Dehning Aktives Mitglied

    Registriert seit:
    21. März 2023
    Beiträge:
    33
    Danke erhalten:
    21
    Danke vergeben:
    28
    #8 Dominik Dehning, 30. Januar 2024
    Zuletzt bearbeitet: 17. August 2024
    Gerade in einem Testshop ausprobiert, aber ohne Gewähr:

    Code:
    INSERT INTO products_item_codes
    SELECT products.products_id, '', '', '','', 1, 0, '', 1, '', '', '1000-01-01'  FROM products
    LEFT JOIN products_item_codes ON products_item_codes.products_id = products.products_id
    WHERE products_item_codes.products_id IS NULL;
    Edit: Verbesserte Abfrage eingefügt
     
  9. Kai Schoelzke

    Kai Schoelzke Beta-Held

    Registriert seit:
    30. März 2016
    Beiträge:
    3.845
    Danke erhalten:
    567
    Danke vergeben:
    263
    Ich vermute mal, das du Produkte per CSV Hochgeladen hast, und wenn die dann auf der Startseite anzeigen willst, geht das nicht, mach erst mal folgendes, nehme alle Top Artikel oder die die du da hast, weg. Dann solltest du die Artikel die du da anzeigen möchtest einmal im Admin aufrufen und abspeichern, dann geht das.
     
  10. gtdreamshop

    gtdreamshop Erfahrener Benutzer

    Registriert seit:
    5. Juni 2011
    Beiträge:
    114
    Danke erhalten:
    5
    Danke vergeben:
    3
    genau so ist es.
    jetzt kann ich es nicht testen weil es gerade funktioniert, muss warten bis es wieder spinnt.

    Warum ist das nur gelegentlich? (gerade dann wenn es schnell gehen muss)

    Bei einem Fehler müsste es doch permanent da sein.
     
  11. Kai Schoelzke

    Kai Schoelzke Beta-Held

    Registriert seit:
    30. März 2016
    Beiträge:
    3.845
    Danke erhalten:
    567
    Danke vergeben:
    263
    Naja, wenn du sagen wir mal 20 Produkte auf der Startseite (Top Artikel) hast, davon aber nur 10 anzeigen lässt, kommt das nur dann vor, wenn einer von den 20 dabei ist, wenn der angezeigt werden soll. Hm weiß nicht wie ich das anders erklären soll.
     
  12. gtdreamshop

    gtdreamshop Erfahrener Benutzer

    Registriert seit:
    5. Juni 2011
    Beiträge:
    114
    Danke erhalten:
    5
    Danke vergeben:
    3
    ich habs jetzt einfach so gemacht, mal sehen was kommt :)