Probleme mit Joomla 4 API

  • Hallo zusammen,


    ich habe beim aufrufen der Joomla 4 API einen Fehler 500 mit folgender Meldung.

    Könnt Ihr sehen an was das liegen kann? Bin auf Joomla 4.2.6


    Vielen Dank :)

    Code
    {
        "errors": {
            "code": 500,
            "title": "Internal server error",
            "detail": "ArgumentCountError: Too few arguments to function plgContentteamchart::onContentPrepare(), 3 passed in \/homepages\/40\/d336757860\/htdocs\/cmsjoomlatest\/libraries\/src\/Plugin\/CMSPlugin.php on line 279 and exactly 4 expected in \/homepages\/40\/d336757860\/htdocs\/cmsjoomlatest\/plugins\/content\/teamchart\/teamchart.php:41\nStack trace:\n#0 \/homepages\/40\/d336757860\/htdocs\/cmsjoomlatest\/libraries\/src\/Plugin\/CMSPlugin.php(279): plgContentteamchart->onContentPrepare('com_content.art...', Object(stdClass), NULL)\n#1 \/homepages\/40\/d336757860\/htdocs\/cmsjoomlatest\/libraries\/vendor\/joomla\/event\/src\/Dispatcher.php(486): Joomla\\CMS\\Plugin\\CMSPlugin->Joomla\\CMS\\Plugin\\{closure}(Object(Joomla\\Event\\Event))\n#2 \/homepages\/40\/d336757860\/htdocs\/cmsjoomlatest\/libraries\/src\/Application\/EventAware.php(107): Joomla\\Event\\Dispatcher->dispatch('onContentPrepar...', Object(Joomla\\Event\\Event))\n#3 \/homepages\/40\/d336757860\/htdocs\/cmsjoomlatest\/api\/components\/com_content\/src\/View\/Articles\/JsonapiView.php(195): Joomla\\CMS\\Application\\WebApplication->triggerEvent('onContentPrepar...', Array)\n#4 \/homepages\/40\/d336757860\/htdocs\/cmsjoomlatest\/libraries\/src\/MVC\/View\/JsonApiView.php(127): Joomla\\Component\\Content\\Api\\View\\Articles\\JsonapiView->prepareItem(Object(stdClass))\n#5 \/homepages\/40\/d336757860\/htdocs\/cmsjoomlatest\/api\/components\/com_content\/src\/View\/Articles\/JsonapiView.php(152): Joomla\\CMS\\MVC\\View\\JsonApiView->displayList()\n#6 \/homepages\/40\/d336757860\/htdocs\/cmsjoomlatest\/libraries\/src\/MVC\/Controller\/ApiController.php(255): Joomla\\Component\\Content\\Api\\View\\Articles\\JsonapiView->displayList()\n#7 \/homepages\/40\/d336757860\/htdocs\/cmsjoomlatest\/api\/components\/com_content\/src\/Controller\/ArticlesController.php(86): Joomla\\CMS\\MVC\\Controller\\ApiController->displayList()\n#8 \/homepages\/40\/d336757860\/htdocs\/cmsjoomlatest\/libraries\/src\/MVC\/Controller\/BaseController.php(672): Joomla\\Component\\Content\\Api\\Controller\\ArticlesController->displayList()\n#9 \/homepages\/40\/d336757860\/htdocs\/cmsjoomlatest\/libraries\/src\/Dispatcher\/ApiDispatcher.php(61): Joomla\\CMS\\MVC\\Controller\\BaseController->execute('displaylist')\n#10 \/homepages\/40\/d336757860\/htdocs\/cmsjoomlatest\/libraries\/src\/Component\/ComponentHelper.php(355): Joomla\\CMS\\Dispatcher\\ApiDispatcher->dispatch()\n#11 \/homepages\/40\/d336757860\/htdocs\/cmsjoomlatest\/libraries\/src\/Application\/ApiApplication.php(405): Joomla\\CMS\\Component\\ComponentHelper::renderComponent('com_content')\n#12 \/homepages\/40\/d336757860\/htdocs\/cmsjoomlatest\/libraries\/src\/Application\/ApiApplication.php(113): Joomla\\CMS\\Application\\ApiApplication->dispatch()\n#13 \/homepages\/40\/d336757860\/htdocs\/cmsjoomlatest\/libraries\/src\/Application\/CMSApplication.php(294): Joomla\\CMS\\Application\\ApiApplication->doExecute()\n#14 \/homepages\/40\/d336757860\/htdocs\/cmsjoomlatest\/api\/includes\/app.php(53): Joomla\\CMS\\Application\\CMSApplication->execute()\n#15 \/homepages\/40\/d336757860\/htdocs\/cmsjoomlatest\/api\/index.php(31): require_once('\/homepages\/40\/d...')\n#16 {main}"
        }
    }
  • Du musst das Plugin

    Code
    plugins/content/teamchart/teamchart.php

    in Ordnung bringen, indem du in der Methode on ContentPrepare 4 Parameter vorsiehst. Oft ist es der letzte, der kein = 0 hat. z.B. so was in der Art:

    Code
    public function onContentPrepare($context, &$row, &$params, $page = 0)

    Dann darf man auch nur 3 übergeben und die Methode denkt sich den vierten selbst.


    Also falsch wäre hier (oft, nicht immer zu Fehler führend) z.B.

    Code
    public function onContentPrepare($context, &$row, &$params, $page)

    Es geht nur um das $page am Ende oder wies bei dir eben heißt.