HDI-Piwik

Bei aktiviertem Modul tritt folgendes auf:
Immer dann, wenn ein Kunde mehr Exemplare eines Artikels kaufen möchte, als verfügbar sind, erfolgt beim Absenden der Bestellung ein Eintrag im exception.log. Trotz erfolgter Bestellung wird die Bestellung als verlassener Warenkorb getrackt

Bei Version 2.0.1 wird die Thankyou-Seite aufgerufen und angezeigt, bei 2.1.0 wird die Thankyou-Seite nicht angezeigt (weisse Seite).


oxArticleInputException-oxArticleException-oxException (time: 2014-07-13 12:03:05): [0]: ERROR_MESSAGE_ARTICLE_ARTICLE_NOT_BUYABLE
Stack Trace: #0 /xxxxx/core/oxutilsobject.php(192): oxUtilsObject->getObject(‘oxarticleinpute…’, 0, Array)
#1 [internal function]: oxUtilsObject->oxNew(‘oxArticleInputE…’)
#2 /xxxxx/core/oxfunctions.php(382): call_user_func_array(Array, Array)
#3 /xxxxx/application/models/oxbasketitem.php(488): oxNew(‘oxArticleInputE…’)
#4 /xxxxx/modules/oe/oepaypal/models/oepaypaloxbasketitem.php(48): oxBasketItem->getArticle(true, NULL, false)
#5 /xxxxx/tmp/smarty/bf49a36670c1bb3e172cdfb59608ff83^%%90^90B^90B7B94A%%base.tpl.php(125): oePayPalOxBasketItem->getArticle()
#6 /xxxxx/core/smarty/Smarty.class.php(1869): include('/kunden/213460
…‘)
#7 /xxxxx/tmp/smarty/bf49a36670c1bb3e172cdfb59608ff83^%%36^366^366ECF91%%page.tpl.php(99): Smarty->smarty_include(Array)
#8 /xxxxx/core/smarty/Smarty.class.php(1869): include('/kunden/213460
…’)
#9 /xxxxx/tmp/smarty/bf49a36670c1bb3e172cdfb59608ff83^%%33^334^334F7E49%%thankyou.tpl.php(132): Smarty->smarty_include(Array)
#10 /xxxxx/core/smarty/Smarty.class.php(1263): include('/kunden/213460
…')
#11 /xxxxx/core/oxshopcontrol.php(502): Smarty->fetch(‘page/checkout/t…’, ‘ox|0|0|1|0|ssl’)
#12 /xxxxx/core/oxshopcontrol.php(350): oxShopControl->_render(Object(Thankyou))
#13 /xxxxx/core/oxshopcontrol.php(123): oxShopControl->_process(‘thankyou’, NULL, NULL, NULL)
#14 /xxxxx/core/oxid.php(38): oxShopControl->start()
#15 /xxxxx/index.php(27): OXID::run()
#16 {main}

Faulty Article –> 002344

Dieser Eintrag erfolgt erst beim Absenden der Bestellung. Beim Einlegen des Artikels wird dem Kunden angezeigt, das der Artikel nicht in ausreichender Anazhl vorhanden ist, es erfolgt aber kein Eintrag im Exception.log

Hi, haste es eingestellt, dass der Kunde nicht (mehr) kaufbare Artikel trotzdem bestellen kann?

[QUOTE=vanilla thunder;147531]Hi, haste es eingestellt, dass der Kunde nicht (mehr) kaufbare Artikel trotzdem bestellen kann?[/QUOTE]

Ausverkaufte Artikel sind nicht bestellbar. Der Fehler tritt auch nur auf, wenn das HDI-Piwik-Modul aktiviert ist.

Hallo Dirk,

Bin mir nicht ganz sicher, ob ich dein Umfeld korrekt verstehe, daher hier mal was ich versucht habe zum reproduzieren:

Bin auf einer OXID CE 4.7.12 mit hdi-piwik 2.1.0.
Neuen Artikel angelegt und dann im Lager den Lagerbestand auf 5 gesetzt mit Lieferstatus “Wenn ausverkauft nicht bestellbar”.
Dann diesen Artikel 10x in den Warenkorb legen und kaufen. Habe ich das so weit richtig verstanden?

Ich darf den Artikel gar nicht mehr als 5 mal in den Warkenborb legen. Auch wenn ich mehr hineinlege es sind immer nur 5 im Warenkorb. Hast du noch etwas anders eingestellt?

Von 2.0 auf auf 2.1 wurde der Piwik-Code vom Footer in den Header verschoben. Also vom Block [I]base_js[/I] in [I]base_style[/I]. Sonst hat sich am Dankeseitentracking nichts geändert.

Ich habe eine 4.8.6 (php 5.3) und Hdi-Piwik 2.0.1 im Live-Shop. Habe einen Lagerbestand von 5 und lege 10 in den Warenkorb. Dann kommt die Meldung, dass nur 5 Stück im Warenkorb sind. Danach werden weitere Artikel in den Warenkorb gelegt. Der Check-Out läuft durch, die Thank-You-seite wird angezeigt. Im exception-log steht dann die von mir gepostete Fehlermeldung und Piwik trackt die Bestellung als verlassener Warenkorb.

In meinem Testshop habe ich Hdi-Piwik 2.1.0 im Einsatz, da wird dann die Thankyou-Seite nicht angezeigt (weisse Seite).

Wenn ich das Modul deaktiviere, steht auch keine Fehlermeldung im Log.

Komme da leider nicht weiter, auf einer 4.8.6 kann ich den Fehler nicht reproduzieren.

Interessant finde ich diesen Teil, kann mit PayPal aber zurzeit nichts testen:

modules/oe/oepaypal/models/oepaypaloxbasketitem.php(48): oxBasketItem->getArticle(true, NULL, false)

Die Fehlermeldung wird auf jeden Fall von getArticle geschmissen und diese Funktion ruft auch hdi-piwik auf. Standardmässig ist der erste Parameter (blCheckProduct) false, ich weiss nicht wieso PayPal den mit true aufruft, oder was das Modul sonst an der Funktion geändert hat, oder ob es überhaupt damit zu tun hat.

Hier hat jemand noch eine ziemlich ähnliche Fehlermeldung: http://forum.oxid-esales.com/showthread.php?t=23875

Vielen Dank. Das hilft mir schon weiter. Wenn ich das Paypal-Modul deaktiviere, tritt der Fehler nicht mehr auf.
Es scheint also an dem Paypal-Modul (oepaypal) zu liegen

Die Fehlermeldung wird auf jeden Fall von getArticle geschmissen und diese Funktion ruft auch hdi-piwik auf. Standardmässig ist der erste Parameter (blCheckProduct) false, ich weiss nicht wieso PayPal den mit true aufruft, oder was das Modul sonst an der Funktion geändert hat, oder ob es überhaupt damit zu tun hat.

Ich habe die Funktion jetzt einmal im Testshop abgeändert.
Sinn macht die Abfrage im Warenkorb, ob ein Artikel kaufbar ist, für die Fälle, in denen der Artikel zwischenzeitlich verkauft wurde. Wenn der Lagerbestand dann nicht mehr ausreicht, sollte die Bestellung dann auch nicht ausgelöst werden. Bei meinen Tests wird in dem Fall nach dem Klicken auf “Kostenpflichtig bestellen” immer wieder der letzte Bestellschritt aufgerufen, ohne das eine Fehlermeldung gezeigt wird. Der Kunde kann die Bestellung dann nicht absenden, ohne das er eine Info erhält, warum.
Deshalb scheint es durchaus sinnvoll zu sein, die Funktion so aufrufen, wie im Paypal-Modul vorgesehen. Dann müsste man doch einmal genauer schauen, warum in dem Fall ein verlassener Warenkorb getrackt wird.