• Resolved ndavis

    (@ndavis)


    Hallo!

    Seit gestern (Vermutlich seit Update auf 1.9.2) zeigt die Website beim Aufrufen von Einsatzberichten folgenden Fehler an:

    TypeError thrown

    Argument 1 passed to abrain\Einsatzverwaltung\Frontend::getEinsatzberichtHeader() must be an instance of WP_Post, instance of stdClass given, called in /homepages/11/d267846619/htdocs/web/wp-content/plugins/einsatzverwaltung/Frontend.php on line 214

    Zeile 214 ist folgende:
    $header = $this->getEinsatzberichtHeader($post);

    Wenn ich im Methodenkopf von getEinsatzberichtHeader() den Typ rausnehme [….Header($post,….] kommt die Meldung nicht mehr. Dann habe ich aber das Problem, dass bei Einsatzberichten ohne Bericht nichts angezeigt wird. Also auch kein Datum, Einsatzort, Links zu nächstem/vorherigen Einsatz etc. , und auch keine Meldung wie “Kein Bericht vorhanden.”.

    Gibt es hier eine Lösung?

    Wordpress, Plugins, PHP, etc. ist alles aktuell.

    Vielen Dank vorab.

    Viele Grüße!

    The page I need help with: [log in to see the link]

Viewing 6 replies - 1 through 6 (of 6 total)
  • Plugin Author Andreas Brain

    (@abrain)

    Die striktere Prüfung auf PHP-Typen erfolgt an dieser Stelle seit Version 1.9.0, die am Montag erschien. Warum da überhaupt ein Objekt vom Typ stdClass hereingereicht wird, ist mir nicht ganz klar. Es könnte durchaus sein, dass da ein anderes Plugin oder das Theme die Finger im Spiel hat. Ich prüfe das mal kurz bei mir lokal.

    Plugin Author Andreas Brain

    (@abrain)

    Die Quelle für das stdClass-Objekt konnte ich jetzt erst mal nicht ausmachen. Aber ich denke, das Problem kann umgangen werden, wenn in der Frontend.php in Zeile 185 das global $post; durch $post = get_post(); ersetzt wird.

    Das kann ich kurzfristig heute noch in einem Update rausbringen, es wäre aber klasse, wenn du mir das kurz austesten könntest.

    Aktuell gibt es auch keine augenscheinlichen Probleme mehr auf der Seite, was war der Workaround?

    Thread Starter ndavis

    (@ndavis)

    Hallo!

    Danke zunächst für die schnellen Antworten.

    Ich habe global $post; durch $post = get_post(); ersetzt.
    Das brachte in soweit Erfolg, dass ich das selbe Ergebnis habe wie zuvor nach der Änderung des Methodenkopfes: Die Fehlermeldung ist weg.

    Das andere Problem, dass Einsätze ohne Einsatzbericht nicht angezeigt werden, besteht weiterhin. Siehe folgender Einsatz:
    https://www.feuerwehr-oberwesel.de/einsatzberichte/notarztzubringer-30/

    Bei den letzten 2-3 Einsätzen ohne Bericht habe ich ein Leerzeichen als Einsatzbericht hinzugefügt, dass zumindest Alarmzeit etc. angezeigt werden.

    Gibt es für dieses Problem eine Idee?

    Viele Grüße

    Plugin Author Andreas Brain

    (@abrain)

    Bei den letzten 2-3 Einsätzen ohne Bericht habe ich ein Leerzeichen als Einsatzbericht hinzugefügt, dass zumindest Alarmzeit etc. angezeigt werden.

    Ah, daran lag das. Ich hatte mich schon gewundert, was da nicht gehen soll. Bis zum Notarztzubringer hatte ich nicht zurückgeblättert 😉

    Die Quelle habe ich nun identifiziert: NextGEN Gallery Version 3.9.0, erschienen vor 2 Tagen. Der Effekt mit der leeren Seite tritt auch bei normalen Beiträgen auf. Deren Support-Forum ist voll mit Fehlerberichten: https://wordpress.org/support/plugin/nextgen-gallery/

    Die Sache mit der Typprüfung geht darauf nicht zurück, dafür habe ich keine Quelle gefunden. Aber das löse ich dann mit dem oben erwähnten Ansatz. Vielen Dank fürs Testen!

    Thread Starter ndavis

    (@ndavis)

    Super, vielen Dank für den Tipp mit NextGEN.
    Ich habe die Galerie deaktiviert, jetzt läuft wieder alles.

    Vielen Dank!

    Plugin Author Andreas Brain

    (@abrain)

    Gerne doch! Das Update ist mittlerweile veröffentlicht.

Viewing 6 replies - 1 through 6 (of 6 total)

The topic ‘TypeError thrown’ is closed to new replies.