Bei Menüs erhält man Error : Cannot use object of type stdClass as array

  • Hallo Experten,


    wie und was ist hier passiert? Der im Titel angezeigte Error Code erscheint seit dem leeren des Caches und Browser Caches. Alles ist aktuell Joomla 3.8.10 php 7.0.30. Es kann kein Menüpunkt mehr geöffnet werden. Bereits versucht . Menü - Verwaltung - wieder herstellen. Datenbank reparieren - Joomla Aktualisierung Core Dateien nochmals installiert.

  • Hallo zusammen


    Leider habe ich das selbe Problem, aber ohne das ich Helix3 verwende.

    Installiert habe ich Joomla 3.8.12, Virtuemart 3.4.0 (Problem bestand aber schon mit Virtuemart 3.2.x) Als Template habe ich eines von YOOtheme Pro, aber ich habe es mit dem Standart Template beez3 getestet und auch da kommt die selbe Fehlermeldung "Cannot use object of type stdClass as array" Ansonsten ist da nur noch vmuikit in ebenfalls der neusten Version installiert, welches ich zum testen komplett deaktiviert habe. Alles Versuche das Problem zu lösen scheiterten. Die Webseite funktioniert grundsätzlich, alle Beiträge lassen sich aufrufen, auch der Warenkorb und die AGBs aus dem virtuemart. Aber die Virtuemart Startseite lässt sich nicht aufrufen. Seit wann das Problem besteht weiss ich nicht genau, es kann sein, dass dies beim letzten Joomla Update kam. Ich bin am Ende meines Lateins, kann mir bitte jemand behilflich sein? URL zur Shop-Startseite: wbc-bern.ch/webshop, die reguläre Startseite wbc-bern.ch. Der Menüeintrag "Webshop" habe ich für den Moment versteckt.


    Update: Wenn man eine Kategorie aufruft: https://wbc-bern.ch/webshop/wasserbett-zubehör dann kommt der Error nicht, nur beim Menüeintrag "Webshop" der zur Shop-Startseite führt.

  • Geh in den Template-Ordner und benenne vorübergehend die Datei error.php um, um sie zu deaktivieren.

    In der Konfiguration:

    - "Fehler berichten" auf "Maximum"

    - AKtiviere Debugmodus für System.

    - Geh dann auf die Seite und schau, ob mehr an Infos zum Fehler kommt.


    Nicht vergessen, wenigstens Debug-Modus dann sofort wieder zu deaktivieren.

  • Es kommt folgendes:

    Call stack
    # Function Location
    1 () JROOT/components/com_virtuemart/sublayouts/customfield.php:107
    2 VirtueMartCustomFieldRenderer::renderCustomfieldsFE() JROOT/administrator/components/com_virtuemart/models/customfields.php:830
    3 VirtueMartModelCustomfields::displayProductCustomfieldFE() JROOT/components/com_virtuemart/helpers/shopfunctionsf.php:374
    4 shopFunctionsF::sortLoadProductCustomsStockInd() JROOT/components/com_virtuemart/views/virtuemart/view.html.php:148
    5 VirtueMartViewVirtueMart->display() JROOT/components/com_virtuemart/controllers/virtuemart.php:49
    6 VirtueMartControllerVirtuemart->display() JROOT/libraries/src/MVC/Controller/BaseController.php:710
    7 Joomla\CMS\MVC\Controller\BaseController->execute() JROOT/components/com_virtuemart/virtuemart.php:120
    8 require_once() JROOT/libraries/src/Component/ComponentHelper.php:382
    9 Joomla\CMS\Component\ComponentHelper::executeComponent() JROOT/libraries/src/Component/ComponentHelper.php:357
    10 Joomla\CMS\Component\ComponentHelper::renderComponent() JROOT/libraries/src/Application/SiteApplication.php:194
    11 Joomla\CMS\Application\SiteApplication->dispatch() JROOT/libraries/src/Application/SiteApplication.php:233
    12 Joomla\CMS\Application\SiteApplication->doExecute() JROOT/libraries/src/Application/CMSApplication.php:195
    13 Joomla\CMS\Application\CMSApplication->execute() JROOT/index.php:49

    Dies erscheint auf der Seite nachdem ich den Debug aktiviert habe.

  • Leider kann ich nicht wirklich helfen, da zu komplex. Ein breit verteilter Fehler sozusagen. Nicht nur die eine Codestelle betroffen, die da bei dir am Ende aufschlägt, sondern zieht sich bis in die Datenbank.


    Kann nur so viel sagen, dass es mit Zuordnung von Produkt-Varianten zu einem Produkt zu tun hat. Und, wenn man z.B. eine Variante löscht, dann kommt es zu Kuddelmuddel in der Datenbank, weil ein JSON-Objekt statt JSON-Array gespeichert wird und VM das beim Auslesen bzw. schon beim Speichern nicht beachtet. Das schaukelt sich dann auf.

  • Du hast mir grad sehr wohl geholfen! "Kann nur so viel sagen, dass es mit Zuordnung von Produkt-Varianten zu einem Produkt zu tun hat."


    Das brachte mich darauf, die vom Kunde neust angelegten Produkte mal zu deaktivieren und Bingo, die Shop-Startseite kommt wieder!

    Jetzt muss ich mich mal auf die Suche machen was da beim anlegen von Produktvarianten schief gelaufen ist.


    HERZLICHEN DANK!!!

  • Danach sieht es glaub ich aus, da hat es noch Varianten stehen die keinen Bezug zu einem Mutter-Produkt haben und ein weiteres Mutterprodukt bei dem glaub ich eine Variante fehlt.

    Das wird es sein denke ich. Ich muss da glaub ich eine Nachschulung geben. Ist für einen Anwender nicht einfach das mit den Varianten in den Griff zu bekommen.


    Zu doof das ich da nicht darauf gekommen bin, ich dachte es hätte einen Zusammenhang mit dem letzten Update, dem Template oder sonst was. Und beim recherchieren bin ich recht schnell auf den selben Fehler in anderen Zusammenhängen gestossen. Scheint ein Fehler der auf verschwenden Ursachen auftreten kann. Ja nu, ich bin nun ein Stück schlauer geworden, das nächste mal werde ich gleich direkt mal Artikel deaktivieren.


    Ohne Deine Hilfe wäre ich wohl nie auf die Idee gekommen die Artikel zu hinterfragen. Vielen Dank!