MERGADO Pack 3.4.1 CartRule bug

Verze pluginu: 3.4.1
Verze Prestashop: 1.7.6.1
Verze PHP PHP 7.2

Dobrý den,

narazili jsme na chybu znemožňující dokončení nákupního procesu.
Modul fungoval bez problémů, nyní jsme využili slevové pravidlo pro kategorií zboží a při odeslání objednávky proces spadne, viz. PHP error log:

PHP Fatal error: Uncaught TypeError: Argument 1 passed to CartRuleCore::checkProductRestrictionsFromCart() must be an instance of Cart, instance of CartCore given, called in /www/hosting/eshop.cz/matrace/classes/CartRule.php on line 734 and defined in /www/hosting/eshop.cz/matrace/classes/CartRule.php:867
74. Stack trace:
75. #0 /www/hosting/eshop.cz/matrace/classes/CartRule.php(734): CartRuleCore->checkProductRestrictionsFromCart(Object(CartCore), false, false, false)
76. #1 /www/hosting/eshop.cz/matrace/classes/CartRule.php(1582): CartRuleCore->checkValidity(Object(Context), false, false)
77. #2 /www/hosting/eshop.cz/matrace/classes/Cart.php(463): CartRuleCore::autoAddToCart(Object(Context))
78. #3 /www/hosting/eshop.cz/matrace/classes/Cart.php(757): CartCore->getCartRules(4)
79. #4 /www/hosting/eshop.cz/matrace/modules/mergado/includes/services/Heureka/HeurekaClass.php(62): CartCore->getProducts()
80. #5 /www/hosting/eshop.cz/matrace/modules/mergado/mergado.php(522): Mergado\Heureka\HeurekaClass::heurekaVerify('c2e2a2603fcf5c9...', Array, 'cs in /www/hosting/eshop.cz/matrace/classes/CartRule.php on line 867

Slevové pravidlo je nakonfigurováno takto:

Override na třídu CartRule.php je vytvořen ale nikoliv na metodu checkProductRestrictionsFromCart().

Dle topicu MERGADO Pack 3.3.1 Chyby - #6 od ludekvolejnik jsme zkoušeli v MERGADO.php změnit třídu CartCore na Cart ale bohužel nepomohlo.

Můžu Vás prosím požádat o prověření?
Mockrát děkuji.

Dobrý deň,
podnet som predala na kontrolu vývojárovi aplikácie MERGADO Pack.

1 Like

Dobrý deň,
chybu sa nám nedarí zreplikovať. Pravdepodobne bude ale v tomto súbore

/modules/mergado/includes/services/Heureka/HeurekaClass.php

Na riadku 24 je use CartCore as Cart; skúste dať namiesto toho use Cart;

Z erroru to vyzerá, že by to mohlo byť ono.

2 Likes

Dobrý den,

mockrát děkuji. Uvedená změna spolu se změnou na řádku 1208 až 1210 v MERGADO.php pomohla.

Ještě jednou děkuji za rychlou pomoc.

4 Likes