Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fehler im Kassenmodul, wenn Kunde keine Adresse im Adressbuch hinterlegt hat #1985

Closed
sgei opened this issue Oct 13, 2018 · 5 comments
Closed
Labels
Milestone

Comments

@sgei
Copy link

sgei commented Oct 13, 2018

Hallo,

Contao: 3.5.36
Isotope: 2.5.7, 2.5.8

Wenn sich ein neuer Kunde registriert und etwas bestellen möchte kommt beim Klick auf Kasse folgende Fehlermeldung:

Fatal error: Uncaught exception Error with message Call to a member function generate() on null thrown in composer/vendor/isotope/isotope-core/system/modules/isotope/library/Isotope/CheckoutStep/ShippingAddress.php on line 75

#0 composer/vendor/isotope/isotope-core/system/modules/isotope/library/Isotope/Module/Checkout.php(437): Isotope\CheckoutStep\ShippingAddress->review()
#1 composer/vendor/isotope/isotope-core/system/modules/isotope/library/Isotope/CheckoutStep/OrderInfo.php(41): Isotope\Module\Checkout->getCheckoutInfo()
#2 composer/vendor/isotope/isotope-core/system/modules/isotope/library/Isotope/Module/Checkout.php(308): Isotope\CheckoutStep\OrderInfo->generate()
#3 composer/vendor/isotope/isotope-core/system/modules/isotope/library/Isotope/Module/Checkout.php(261): Isotope\Module\Checkout->generateSteps(Array)
#4 system/modules/core/modules/Module.php(287): Isotope\Module\Checkout->compile()
#5 composer/vendor/codefog/contao-haste/library/Haste/Frontend/AbstractFrontendModule.php(52): Contao\Module->generate()
#6 composer/vendor/isotope/isotope-core/system/modules/isotope/library/Isotope/Module/Module.php(111): Haste\Frontend\AbstractFrontendModule->generate()
#7 composer/vendor/isotope/isotope-core/system/modules/isotope/library/Isotope/Module/Checkout.php(109): Isotope\Module\Module->generate()
#8 system/modules/core/elements/ContentModule.php(59): Isotope\Module\Checkout->generate()
#9 system/modules/core/library/Contao/Controller.php(484): Contao\ContentModule->generate()
#10 system/modules/core/modules/ModuleArticle.php(213): Contao\Controller::getContentElement(Object(Contao\ContentModel), 'main')
#11 system/modules/core/modules/Module.php(287): Contao\ModuleArticle->compile()
#12 system/modules/core/modules/ModuleArticle.php(67): Contao\Module->generate()
#13 system/modules/core/library/Contao/Controller.php(417): Contao\ModuleArticle->generate(false)
#14 system/modules/core/library/Contao/Controller.php(277): Contao\Controller::getArticle(Object(Contao\ArticleModel), false, false, 'main')
#15 system/modules/core/pages/PageRegular.php(133): Contao\Controller::getFrontendModule('0', 'main')
#16 system/modules/core/controllers/FrontendIndex.php(285): Contao\PageRegular->generate(Object(Contao\PageModel), true)
#17 index.php(20): Contao\FrontendIndex->run()
#18 {main}

Ich möchte, dass die Mitgliederadresse als Rechnungsadresse genommen wird, aber die Versandadresse soll änderbar sein.
Das Kassenmodul ist wiefolgt eingestellt:

Weiterleitung
(x) Weiterleiten zur Bestätigungsseite

Bestell-Schritte überspringen
(x) Mitglied-Adresse als Rechnungsadresse verwenden, wenn Mitglied angemeldet ist
( ) Rechnungsadresse als Versandadresse verwenden
( ) Bezahlschritt überspringen wenn nur eine Bezahlmethode verfügbar ist
( ) Versandschritt überspringen wenn nur eine Versandmethode verfügbar ist

Wenn ich auch einen Haken bei "Rechnungsadresse als Versandadresse verwenden" setze, dann kommt der Fehler nicht. Allerdings wird dann der Checkout-Schritt übersprungen.

Im Isotope-Demoshop lässt es sich nicht nachstellen, da es keine Möglichkeit zur Registrierung gibt. Die Demo-User haben bereits Adressen im Isotope-Adressbuch.

Steffen

@aschempp aschempp added the bug label Oct 15, 2018
@aschempp
Copy link
Member

Ich kann diesen Fehler bei mir nicht reproduzieren. Hast du irgendwelche Module installiert welche vielleicht Einfluss darauf nehmen?

@sgei
Copy link
Author

sgei commented Oct 26, 2018

Hallo Andreas,

ich habe gerade den offiziellen Demoshop von Isotope installiert und den Fehler dort sofort reproduzieren können.

Was habe ich gemacht:

  • Demoshop installiert
  • auf Composer umgestellt
  • Erweiterungen + Contao aktualisiert (Contao 3.5.36 Isotope 2.5.8)
  • Modul Registrierung + entsprechende Seite und Artikel angelegt
  • Kassenmodul entsprechend eingestellt
  • Artikel versucht zu bestellen

Hier ist ein Video vom Bug im Demoshop: isotope_bug-1985_demoshop.mp4

Ich schicke dir mal die Zugangsdaten zum Demoshop per Mail.

Steffen

@aschempp aschempp added this to the 2.5.9 milestone Nov 15, 2018
@aschempp
Copy link
Member

Fixed in Isotope 2.5.9 thanks to our Circle member 😊

@sgei
Copy link
Author

sgei commented Nov 15, 2018

Hallo,

ich habe gerade auf 2.5.9 geupdated - der Fehler besteht leider immer noch!!!

Das Kassenmodul ist wiefolgt eingestellt:

Weiterleitung
(x) Weiterleiten zur Bestätigungsseite

Bestell-Schritte überspringen
(x) Mitglied-Adresse als Rechnungsadresse verwenden, wenn Mitglied angemeldet ist
( ) Rechnungsadresse als Versandadresse verwenden
( ) Bezahlschritt überspringen wenn nur eine Bezahlmethode verfügbar ist
( ) Versandschritt überspringen wenn nur eine Versandmethode verfügbar ist

Wenn man im Warenkorb auf "Zur Kasse" drückt kommt wieder die Fehlermeldung:

Fatal error: Uncaught exception Error with message Call to a member function generate() on null thrown in composer/vendor/isotope/isotope-core/system/modules/isotope/library/Isotope/CheckoutStep/ShippingAddress.php on line 75

#0 composer/vendor/isotope/isotope-core/system/modules/isotope/library/Isotope/Module/Checkout.php(442): Isotope\CheckoutStep\ShippingAddress->review()
#1 composer/vendor/isotope/isotope-core/system/modules/isotope/library/Isotope/CheckoutStep/OrderInfo.php(41): Isotope\Module\Checkout->getCheckoutInfo()
#2 composer/vendor/isotope/isotope-core/system/modules/isotope/library/Isotope/Module/Checkout.php(311): Isotope\CheckoutStep\OrderInfo->generate()
#3 composer/vendor/isotope/isotope-core/system/modules/isotope/library/Isotope/Module/Checkout.php(264): Isotope\Module\Checkout->generateSteps(Array)
#4 system/modules/core/modules/Module.php(287): Isotope\Module\Checkout->compile()
#5 composer/vendor/codefog/contao-haste/library/Haste/Frontend/AbstractFrontendModule.php(52): Contao\Module->generate()
#6 composer/vendor/isotope/isotope-core/system/modules/isotope/library/Isotope/Module/Module.php(111): Haste\Frontend\AbstractFrontendModule->generate()
#7 composer/vendor/isotope/isotope-core/system/modules/isotope/library/Isotope/Module/Checkout.php(111): Isotope\Module\Module->generate()
#8 system/modules/core/elements/ContentModule.php(59): Isotope\Module\Checkout->generate()
#9 system/modules/core/library/Contao/Controller.php(484): Contao\ContentModule->generate()
#10 system/modules/core/modules/ModuleArticle.php(213): Contao\Controller::getContentElement(Object(Contao\ContentModel), 'main')
#11 system/modules/core/modules/Module.php(287): Contao\ModuleArticle->compile()
#12 system/modules/core/modules/ModuleArticle.php(67): Contao\Module->generate()
#13 system/modules/core/library/Contao/Controller.php(417): Contao\ModuleArticle->generate(false)
#14 system/modules/core/library/Contao/Controller.php(277): Contao\Controller::getArticle(Object(Contao\ArticleModel), false, false, 'main')
#15 system/modules/core/pages/PageRegular.php(133): Contao\Controller::getFrontendModule('0', 'main')
#16 system/modules/core/controllers/FrontendIndex.php(285): Contao\PageRegular->generate(Object(Contao\PageModel), true)
#17 index.php(20): Contao\FrontendIndex->run()
#18 {main}

Steffen

@sgei
Copy link
Author

sgei commented Nov 15, 2018

Hallo,

ich habe mir nochmal die Mühe gemacht und unterschiedliche Fälle getestet.

System: Contao 3.5.36 / Isotope 2.5.9

Grundvorraussetzung bei allen Testfällen:

  • Neukundenregistrierung (kann aber auch mit Bestandskunden getestet werden)
  • Tabellen: tl_iso_product_collection, tl_iso_address vor jeden Test geleert

Folgende Einstellungen im Kassenmodul habe ich variiert:
versuche

Der Fehler tritt nur auf, wenn das Kassenmodul ist wiefolgt eingestellt ist:

Weiterleitung
(x) Weiterleiten zur Bestätigungsseite

Bestell-Schritte überspringen
(x) Mitglied-Adresse als Rechnungsadresse verwenden, wenn Mitglied angemeldet ist
( ) Rechnungsadresse als Versandadresse verwenden
( ) Bezahlschritt überspringen wenn nur eine Bezahlmethode verfügbar ist
( ) Versandschritt überspringen wenn nur eine Versandmethode verfügbar ist

Hier ist ein Auszug aus der DB - tl_iso_product_collection wenn der Kunde nach Registrierung etwas in den Warenkorb gelegt hat:

cart_db

Hier ist ein Auszug aus der DB - tl_iso_product_collection wenn der Kunde nach Registrierung etwas in den Warenkorb gelegt hat und anschließend auf "Zur Kasse" klickt:

order_db

Braucht ihr noch mehr Infos?

Steffen

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants