Ergebnis 1 bis 9 von 9

Thema: Preis wird nicht aktualisiert - Crash wenn man Produkt in Warenkorg legt

  1. #1
    Contao-Nutzer
    Registriert seit
    31.03.2011.
    Beiträge
    86

    Standard Preis wird nicht aktualisiert - Crash wenn man Produkt in Warenkorg legt

    Hallo zusammen,

    ich habe Contao und Isotope von 4.4 und 2.6 auf 4.13 und 2.8.10 aktualisiert.
    Contao läuft soweit korrekt - jedoch macht der Shop Probleme.

    Im Backend funktioniert alles wie gehabt. Im Frontend ist es so, dass wenn ich Attribute auswähle, sich der Preis nicht aktualisiert und das Popup "Lade Produktdaten" einmal erscheint, weggeht und beim zweiten Mal in eine Endlosschleife geht. Script-mäßig zeigt die Console des Browsers an, dass das Script die geöffnete Seite nicht laden kann: Failed to load resource: the server responded with a status of 500 (Internal Server Error)
    Per Post will ja das Script die Daten ja an sich selbst übergeben.

    Das zweite Problem zeigt an, dass noch irgendetwas "fishy" ist. Lege ich das Produkt in den Warenkorb, dann erhalte ich das Contao-Fehlerfenster. var/log gibt Folgendes aus:

    Code:
    [2023-03-09T22:30:52.537813+01:00] request.INFO: Matched route "tl_page.2382". {"route":"tl_page.2382","route_parameters":{"_token_check":true,"_controller":"Contao\\FrontendIndex::renderPage","_scope":"frontend","_locale":"de","_format":"html","_canonical_route":"tl_page.2382","parameters":"","pageModel":{"Contao\\PageModel":[]},"_route":"tl_page.2382","_route_object":{"Contao\\CoreBundle\\Routing\\Page\\PageRoute":[]}},"request_uri":"DIETESTWEBSITE","method":"GET"} []
    [2023-03-09T22:30:53.190706+01:00] request.CRITICAL: Uncaught PHP Exception TypeError: "Argument 1 passed to str_contains() must be of the type string or null, array given, called in /PFADBEISTRATO/vendor/codefog/contao-haste/library/Haste/Util/Format.php on line 166" at /PFADBEISTRATO/vendor/symfony/polyfill-php80/bootstrap.php line 29 {"exception":"[object] (TypeError(code: 0): Argument 1 passed to str_contains() must be of the type string or null, array given, called in /PFADBEISTRATO/vendor/codefog/contao-haste/library/Haste/Util/Format.php on line 166 at /PFADBEISTRATO/vendor/symfony/polyfill-php80/bootstrap.php:29)"} []
    Vielleicht hat jemand ne Idee.

    Danke und Grüße
    Bojay
    Geändert von Bojay (10.03.2023 um 08:39 Uhr)

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.114
    Partner-ID
    10107

    Standard

    Nutze den Debug-Modus und poste den Stack Trace.
    » sponsor me via GitHub or PayPal or Revolut

  3. #3
    Contao-Nutzer
    Registriert seit
    31.03.2011.
    Beiträge
    86

    Standard Stack Trace

    Einen richtigen Fehler bekomme ich nur beim Reinlegen in den Warenkorb:

    Code:
    TypeError:
    Argument 1 passed to str_contains() must be of the type string or null, array given, called in /PFADBEISTRATO/vendor/codefog/contao-haste/library/Haste/Util/Format.php on line 166
    
      at vendor/symfony/polyfill-php80/bootstrap.php:29
      at str_contains()
         (vendor/codefog/contao-haste/library/Haste/Util/Format.php:166)
      at Haste\Util\Format::dcaValueFromArray()
         (vendor/codefog/contao-haste/library/Haste/Util/Format.php:132)
      at Haste\Util\Format::dcaValue()
         (vendor/isotope/isotope-core/system/modules/isotope/library/Isotope/Isotope.php:484)
      at Isotope\Isotope::formatOptions()
         (vendor/isotope/isotope-core/system/modules/isotope/library/Isotope/Model/ProductCollection.php:1682)
      at Isotope\Model\ProductCollection->generateItem()
         (vendor/isotope/isotope-core/system/modules/isotope/library/Isotope/Model/ProductCollection.php:1645)
      at Isotope\Model\ProductCollection->addItemsToTemplate()
         (vendor/isotope/isotope-core/system/modules/isotope/library/Isotope/Model/ProductCollection.php:1492)
      at Isotope\Model\ProductCollection->addToTemplate()
         (vendor/isotope/isotope-core/system/modules/isotope/library/Isotope/Module/AbstractProductCollection.php:90)
      at Isotope\Module\AbstractProductCollection->compile()
         (vendor/isotope/isotope-core/system/modules/isotope/library/Isotope/Module/Cart.php:53)
      at Isotope\Module\Cart->compile()
         (vendor/contao/core-bundle/src/Resources/contao/modules/Module.php:214)
      at Contao\Module->generate()
         (vendor/codefog/contao-haste/library/Haste/Frontend/AbstractFrontendModule.php:52)
      at Haste\Frontend\AbstractFrontendModule->generate()
         (vendor/isotope/isotope-core/system/modules/isotope/library/Isotope/Module/Module.php:115)
      at Isotope\Module\Module->generate()
         (vendor/isotope/isotope-core/system/modules/isotope/library/Isotope/Module/AbstractProductCollection.php:59)
      at Isotope\Module\AbstractProductCollection->generate()
         (vendor/contao/core-bundle/src/Resources/contao/elements/ContentModule.php:98)
      at Contao\ContentModule->generate()
         (vendor/contao/core-bundle/src/Resources/contao/library/Contao/Controller.php:621)
      at Contao\Controller::getContentElement()
         (vendor/contao/core-bundle/src/Resources/contao/modules/ModuleArticle.php:197)
      at Contao\ModuleArticle->compile()
         (vendor/contao/core-bundle/src/Resources/contao/modules/Module.php:214)
      at Contao\Module->generate()
         (vendor/contao/core-bundle/src/Resources/contao/modules/ModuleArticle.php:70)
      at Contao\ModuleArticle->generate()
         (vendor/contao/core-bundle/src/Resources/contao/library/Contao/Controller.php:549)
      at Contao\Controller::getArticle()
         (vendor/contao/core-bundle/src/Resources/contao/library/Contao/Controller.php:391)
      at Contao\Controller::getFrontendModule()
         (vendor/contao/core-bundle/src/Resources/contao/pages/PageRegular.php:190)
      at Contao\PageRegular->prepare()
         (vendor/contao/core-bundle/src/Resources/contao/pages/PageRegular.php:60)
      at Contao\PageRegular->getResponse()
         (vendor/contao/core-bundle/src/Resources/contao/controllers/FrontendIndex.php:320)
      at Contao\FrontendIndex->renderPage()
         (vendor/symfony/http-kernel/HttpKernel.php:163)
      at Symfony\Component\HttpKernel\HttpKernel->handleRaw()
         (vendor/symfony/http-kernel/HttpKernel.php:75)
      at Symfony\Component\HttpKernel\HttpKernel->handle()
         (vendor/symfony/http-kernel/Kernel.php:202)
      at Symfony\Component\HttpKernel\Kernel->handle()
         (web/index.php:44)
      at require('/PFADBEISTRATO/web/index.php')
         (web/app.php:13)
    Beim Aktualisieren der Preise kommt kein Fehler - nur in der Javscript-Konsole.

  4. #4
    Contao-Nutzer
    Registriert seit
    31.03.2011.
    Beiträge
    86

    Standard PHP 7.4?

    Liegt es evtl. daran, dass ich nur auf PHP 7.4 testen kann, aber PHP 8.0 erforderlich ist?

    Bei Strato kann man global nur die PHP-Version ändern und sobald ich auf PHP 8.0 gehe, dann geht die alte, aktive Website nicht. Oder ich muss den Test einfach in die Nacht verschieben.

  5. #5
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.114
    Partner-ID
    10107

    Standard

    Hast du das beim Wechsel der PHP Version beachtet? https://docs.contao.org/manual/de/in...er-php-version

    PHP 8.0 solltest du nicht verwenden, wenn dann PHP 8.1.
    » sponsor me via GitHub or PayPal or Revolut

  6. #6
    Administratorin Avatar von lucina
    Registriert seit
    19.06.2009.
    Ort
    Kiel (DE)
    Beiträge
    7.335
    Partner-ID
    152
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von Bojay Beitrag anzeigen
    Bei Strato kann man global nur die PHP-Version ändern und sobald ich auf PHP 8.0 gehe, dann geht die alte, aktive Website nicht.
    Das ist schlicht falsch, und das Lesen der Dokumentation hilft: https://www.strato.de/faq/hosting/so...on-manuell-um/

  7. #7
    Contao-Nutzer
    Registriert seit
    31.03.2011.
    Beiträge
    86

    Standard PHP bei Strato

    Zitat Zitat von lucina Beitrag anzeigen
    Das ist schlicht falsch, und das Lesen der Dokumentation hilft: https://www.strato.de/faq/hosting/so...on-manuell-um/
    Ich kann über den Login-Bereich bei Strato nur global die PHP ändern.

    Natürlich kann ich über .htaccess das für den jeweiligen Webspace ändern - hätte ich auch selber dran denken können. Danke für den Hinweis, dann kann die alte Seite weiterhin laufen, solange ich die neue Website durchteste.

  8. #8
    Contao-Nutzer
    Registriert seit
    31.03.2011.
    Beiträge
    86

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Hast du das beim Wechsel der PHP Version beachtet? https://docs.contao.org/manual/de/in...er-php-version

    PHP 8.0 solltest du nicht verwenden, wenn dann PHP 8.1.
    Bei der neuen Website habe ich das gemacht. Bei der alten beim Umstellen nicht. Das werde ich heute Abend mal testen. Danke für den Hinweise mit der 8.1.

  9. #9
    Contao-Nutzer
    Registriert seit
    31.03.2011.
    Beiträge
    86

    Standard Fehler eingekreist

    Hallo zusammen,

    ich konnte jetzt ein paar Fehler ausmerzen und einkreisen.

    Warum der Preis nicht live aktualisiert wurde, lag daran, dass j_mediaelement gefehlt hatte. Komisch, ich hatte die Website 1:1 kopiert und die Datei wurde nicht übernommen - egal, das funktioniert jetzt.

    Der Fehler mit

    Code:
    TypeError:
    str_contains(): Argument #1 ($haystack) must be of type string, array given
    kommt, sobald ein Produktattribute vom Typ Checkbox-Menü ist, man mehrere Elemente als Optionen hat und dabei eine Option oder mehrere Optionen aus einer Gruppe auswählt.
    Hat man dagegen nur eine Checkbox-Option und diese ausgewählt, dann funktioniert es.

    Radiobuttons funktionieren, aber da kann man ja auch nur ein Element einer Gruppe auswählen.

    Vielleicht hat mir jemand einen Tipp?
    Geändert von Bojay (17.03.2023 um 22:03 Uhr)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •