Marmpiwik für 4.80 CE produziert Fehler

Hallo, Forum, lange nicht gesehen!

Ich habe 4.80 CE installiert und dann MarmPiwik Modul, die letzte Version von GitHub.
Der Webtracking geht, aber das Modul zerschiesst mir leider die Ansicht.

Wenn ich nämlich bei einem Artikel auf “ArtikelDetails” drücke - bekomme ich folgende Fehlermeldungen:

Function ‘getCategory’ does not exist or is not accessible! (oeThemeSwitcherDetails)

#0 /usr/www/users/eficmqac/re-produkte/docs/modules/marm/piwik/core/marm_piwik.php(414): oxSuperCfg->__call(‘getCategory’, Array)
#1 /usr/www/users/eficmqac/re-produkte/docs/modules/marm/piwik/core/marm_piwik.php(414): oeThemeSwitcherDetails->getCategory()
#2 /usr/www/users/eficmqac/re-produkte/docs/modules/marm/piwik/core/marm_piwik.php(434): marm_piwik->setPiwikParamsForDetails(Object(oeThemeSwitcherDetails))
#3 /usr/www/users/eficmqac/re-produkte/docs/modules/marm/piwik/core/marm_piwik.php(459): marm_piwik->_setPiwikParamsByViewObject()
#4 /usr/www/users/eficmqac/re-produkte/docs/modules/marm/piwik/core/marm_piwik_oxoutput.php(42): marm_piwik->getMarmPiwikCode()
#5 /usr/www/users/eficmqac/re-produkte/docs/modules/marm/piwik/core/marm_piwik_oxoutput.php(57): marm_piwik_oxoutput->marmReplaceBody(’
#6 /usr/www/users/eficmqac/re-produkte/docs/core/oxshopcontrol.php(532): marm_piwik_oxoutput->process(’
#7 /usr/www/users/eficmqac/re-produkte/docs/core/oxshopcontrol.php(396): oxShopControl->_render(Object(oeThemeSwitcherDetails))
#8 /usr/www/users/eficmqac/re-produkte/docs/core/oxshopcontrol.php(156): oxShopControl->_process(‘details’, NULL, NULL, NULL)
#9 /usr/www/users/eficmqac/re-produkte/docs/core/oxid.php(40): oxShopControl->start()
#10 /usr/www/users/eficmqac/re-produkte/docs/index.php(28): Oxid::run()
#11 /usr/www/users/eficmqac/re-produkte/docs/oxseo.php(45): require(’/usr/www/users/…’)
#12 {main};

Wenn ich MarmPiwik deaktiviere - funktioniert alles wieder.

Kennt jemand das Problem?

Danke, Gruss,
Alexey

ps. Sorry, I wanted to post that in German Community, please move it there!

Ich habe einfach die Zeile 414 im /usr/www/users/eficmqac/re-produkte/docs/modules/marm/piwik/core/marm_piwik.php
auskommentiert:

// $oCategory = $oViewObject->getCategory();

Jetzt gehts wieder.

Hallo,

super, kannst du dem auf den Grund gehen, damit wir das im default fixyen können?

Danke dir!

Gruß Joscha

[QUOTE=jkrug;134598]Hallo,

super, kannst du dem auf den Grund gehen, damit wir das im default fixyen können?

Danke dir!

Gruß Joscha[/QUOTE]

Hallo, Joscha!
Ich werde es zumindestens versuchen!
Bei Ergebnissen melde ich mich hier wieder.
Gruss,
Alex

ps marsium ist mein Alias hier, bitte nicht wundern )

Gibt es hierzu inzwischen was neues?
Ich habe die Zeile inzwischen auch auskommentiert, um meinen Shop in 4.8.0 testen zu können.
Bei meinen wenigen Testdaten kann ich nicht erkennen, was für Auswirkungen das Auskommentieren der Zeile hat bzw. warum diese Zeile den Fehler auswirft.

Ich hatte nach dem Update auf 4.8.0 genau das gleiche Problem, hatte piwik deshalb lange deaktiviert. Gestern habe ich es testweise mal wieder aktiviert und es hat alles bestens funktioniert. Heute morgen jedoch der altbekannte Fehler, redirect zur Startseite und Eintrag im exception log.

Jetzt habe ich die Zeile auch auskommentiert und es funktioniert wieder. Ich werde beobachten, ob es dabei bleibt. Hat irgendjemand schon was rausgefunden, welche Auswirkungen das ggf. aufs Tracking hat?

Hm, wenn ihr “die Zeile” benennt, oder die Exception hier postet, dann kann man das auch einfacher debuggen. So ist das ein wenig schwierig. Wir selber haben noch keine 4.8 mit Piwik im Einsatz und können daher nicht aus der Praxis berichten.

Viele Grüße

Joscha

Eintrag im Exception Log:

oxSystemComponentException-oxException (time: 2014-02-18 07:52:11): [0]: Function ‘getCategory’ does not exist or is not accessible! (Details)

Stack Trace: #0 /var/www/web4393/html/test/html/modules/marm/piwik/core/marm_piwik.php(414): oxSuperCfg->__call(‘getCategory’, Array)
#1 /var/www/web4393/html/test/html/modules/marm/piwik/core/marm_piwik.php(414): Details->getCategory()
#2 /var/www/web4393/html/test/html/modules/marm/piwik/core/marm_piwik.php(434): marm_piwik->setPiwikParamsForDetails(Object(Details))
#3 /var/www/web4393/html/test/html/modules/marm/piwik/core/marm_piwik.php(459): marm_piwik->_setPiwikParamsByViewObject()
#4 /var/www/web4393/html/test/html/modules/marm/piwik/core/marm_piwik_oxoutput.php(42): marm_piwik->getMarmPiwikCode()
#5 /var/www/web4393/html/test/html/modules/marm/piwik/core/marm_piwik_oxoutput.php(57): marm_piwik_oxoutput->marmReplaceBody(’<!DOCTYPE HTML>…’)
#6 /var/www/web4393/html/test/html/core/oxshopcontrol.php(532): marm_piwik_oxoutput->process(’<!DOCTYPE HTML>…’, ‘details’)
#7 /var/www/web4393/html/test/html/core/oxshopcontrol.php(396): oxShopControl->_render(Object(Details))
#8 /var/www/web4393/html/test/html/core/oxshopcontrol.php(156): oxShopControl->_process(‘details’, NULL, NULL, NULL)
#9 /var/www/web4393/html/test/html/core/oxid.php(40): oxShopControl->start()
#10 /var/www/web4393/html/test/html/index.php(28): Oxid::run()
#11 /var/www/web4393/html/test/html/oxseo.php(45): require(’/var/www/web439…’)
#12 {main}

Faulty component -->

Auskommentiert habe ich:
$oCategory = $oViewObject->getCategory();
Das wurde in einem vorherigen Post so vorgeschlagen…

Ich habe eine Ticket im Repo gemacht und versuche mir das bald anzuschauen.

Gruß Joscha

in der core class marmpiwik::setPiwikParamsForDetails()

muss

$oCategory = $oViewObject->getCategory()

zu

$oCategory = $oViewObject->getActCategory()

geändert werden

Hallo Noel,

weisst Du, wie GitHub funktioniert? Kannst Du vielleicht dazu einen Pull Request machen?

Besten Dank und Gruß!

Ach - vielleicht nochmal zur Hilfe: Hier geht es zum aufgezeichneten Webinar für die Benutzung von GitHub:
http://wasmitweb.de/2014/02/21/nachtrag-zum-webinar-arbeiten-mit-git-und-github/

Wer sich also durch das Gestammel durchfindet, weiss danach zumindest, wie man einen Pull Request absetzen kann :smiley:

Gruß

Dann läuft das Modul jetzt wieder einwandfrei auch mit der 4.8.4 und Piwik 2.1 ?

Gruß BB

@ Marco: Hab einen pullrequest gemacht.

Vll erinenrst Du Dich ans eCC in Jena. Ich bin der, der Dich nach so einem schwarzen Bändchen gefragt hatte :smiley:

@ Bob: Mit der Änderung funktioniert das bei uns ja.

Ah, sehr cool :slight_smile:

Wenn ich es richtig sehe, ist der Fehler in der Version im Github vom Februar 2014 bereits gefixt.
Bei einem Update sollte man beachten, dass die Modulstruktur geändert wurde.

Das Problem existiert bei mir (4.8.4) immer noch. getActCategory existiert nicht für das Artikel-Object:


oxSystemComponentException-oxException (time: 2014-03-18 08:13:51): [0]: Function 'getActCategory' does not exist or is not accessible! (mk_customizations_oxarticle)
 
 Stack Trace: #0 /webseiten/test/src/marmPiwik/core/marm_piwik.php(414): oxSuperCfg->__call('getActCategory', Array)

Wenn ich die Beiträge hier richtig interpretiere, wurde die Methode früher auf den View aufgerufen. Wieso jetzt auf den Artikel? Wenn ich die Methode auf den View aufrufe funktionierts. Aber vielleicht gibt es einen guten Grund, warum das geändert wurde? Pull request:

https://github.com/jkrug/marmPiwik/pull/12

Habe bei der Gelegenheit den Aufruf zu getActiveCategory geändert, getActCategory ist deprecated.

Hi zusammen,

ich habe noch einen weiteren Bug in Verbindung mit MarmPiwik gefunden und auch mehrfach reproduzieren können.

  1. Man legt einen Artikel mit ausreichender Stückzahl in den Warenkorb
  2. Dann legt man einen Artikel in den Warenkorb, von dem nur noch 1 Stück vorhanden ist.

Beim Abschluss der Bestellung landet man dann auf einer weißen Thankyou Seite mit folgender Exception:


oxArticleInputException-oxArticleException-oxException (time: 2014-03-28 
12:57:33): [0]: EXCEPTION_ARTICLE_ARTICELNOTBUYABLE
  Stack Trace: #0 /html/oxid/core/oxutilsobject.php(192): 
oxUtilsObject->_getObject('oxarticleinpute...', 0, Array)
#1 [internal function]: oxUtilsObject->oxNew('oxArticleInputE...')
#2 /html/oxid/core/oxfunctions.php(382): call_user_func_array(Array, Array)
#3 /html/oxid/application/models/oxbasketitem.php(488): 
oxNew('oxArticleInputE...')
#4 /html/oxid/modules/wn_basketnovarlink/bnv_oxbasketitem.php(23): 
oxBasketItem->getArticle(true, NULL, false)
#5 /html/oxid/modules/marm/piwik/core/marm_piwik.php(356): 
bnv_oxbasketitem->getArticle()
#6 /html/oxid/modules/marm/piwik/core/marm_piwik.php(376): 
marm_piwik->_setEcommerceItemsByBasket(Object(pbt_oxbasket))
#7 /html/oxid/modules/marm/piwik/core/marm_piwik.php(434): 
marm_piwik->setPiwikParamsForThankyou(Object(Thankyou))
#8 /html/oxid/modules/marm/piwik/core/marm_piwik.php(459): 
marm_piwik->_setPiwikParamsByViewObject()
#9 /html/oxid/modules/marm/piwik/core/marm_piwik_oxoutput.php(42): 
marm_piwik->getMarmPiwikCode()
#10 /html/oxid/modules/marm/piwik/core/marm_piwik_oxoutput.php(62): 
marm_piwik_oxoutput->marmReplaceBody('  <!DOCTYPE HTM...')
#11 /html/oxid/core/oxshopcontrol.php(505): 
marm_piwik_oxoutput->process('  <!DOCTYPE HTM...', 'thankyou')
#12 /html/oxid/core/oxshopcontrol.php(350): 
oxShopControl->_render(Object(Thankyou))
#13 /html/oxid/core/oxshopcontrol.php(123): 
oxShopControl->_process('thankyou', NULL, NULL, NULL)
#14 /html/oxid/modules/su/su_shopcontrol.php(18): oxShopControl->start()
#15 /html/oxid/modules/aspaypal/aspaypal_shopcontrol.php(39): 
su_shopcontrol->start(NULL, NULL, NULL, NULL)
#16 /html/oxid/core/oxid.php(38): aspaypal_shopcontrol->start()
#17 /html/oxid/index.php(26): Oxid::run()
#18 /html/oxid/oxseo.php(44): require('/html/oxid/inde...')
#19 {main}

  Faulty Article --> 18md33a42a764c5cd6aba57baeef5893

Ich habe das hinreichend debuggt, so dass eindeutig das PIWIK Modul dafür verantwortlich gemacht werden kann.

Hey coarsy,

hast Du auch eine Lösung dafür?

Im Augenblick habe ich PIWIK einfach deaktiviert. Ich muss mir das bei Gelegenheit näher ansehen, hatte aber bislang noch keine Zeit dafür.

Ich fände es besser, wenn der PIWIK Code nicht in die Seite geparsed, sondern über Template-Blocks eingebunden würde.