Erorr Fehler ermitteln wie?

Bitte in den Beiträgen keine externe Bilder einbinden, sondern nur die Dateianhänge verwenden.
Vielen dank.
  • Ich habe ein Plugin bei dem der Support eingestellt wurde,daher habe ich mich selber mal ran gemacht den Fehler zu suchen und zu beheben,aber ich bin schon am aufspüren des Fehler gescheitert.
    Der Fehler ist Folgender.

    Code
    Fatal error: Call to a member function getAvatar() on null in /var/www/vhosts/computer-base.net/httpdocs/wcf/templates/compiled/34_wcf_1_moderationList.php on line 196


    In der 34_wcf_1_moderationList.php in Zeile 196 Steht Folgendes.



    PHP
    <td class="columnIcon"><p class="framed"><?php echo $this->v['entry']->getUserProfile()->getAvatar()->getImageTag(32); ?></p></td>

    Aber auch dadurch konnte ich nicht wirklich erkenne wo der Fehler liegt,wie bekomme ich nun herraus wo ich den Fehler suchen muss und was genau der Fehler ist?

  • Um Fehler zu suchen und am ende auch zu beheben sind PHP und HTML Kenntnisse nötig. Ohne die kannst du das nicht selbständig lösen.
    zu deinem Problem
    <?php echo $this->v['entry']->getUserProfile()->getAvatar()->getImageTag(32); ?>
    liegt das Problem


    und zwar ist so wie es auf den ersten Blick aussieht gibt die Funktion $this->v['entry']->getUserProfile() null zurück und kein Objekt damit eine andere Methode aufgerufen werden kann.

  • PHP Kenntnisse bei mir sind zwar begrenzt,aber HTML geht eigentlich. ;)


    Ich konnte schon einige Fehler selber finden und beheben,aber dieser zeigt mir anscheint meine grenzen.


    Ich vermutete den Fehler in Folgendem bereich.


    PHP
    public function getDisabledContent(ViewableModerationQueue $queue) {
    		WCF::getTPL()->assign(array(
    			'entry' => new ViewableGuestbookEntry($queue->getAffectedObject())
    		));
    
    
    		// init template
    		return WCF::getTPL()->fetch('guestbookModerationEntry');
    	}

    Aber egal was ich da versucht habe der Fehler blieb immer der selbe und hat sich nicht verändert,auch versuche im guestbookModerationEntry template haben keine Veränderung gebracht.


    Kurz gesagt ich finde die stelle einfach nicht die geändert werden muss um den Fehler zu beheben.

  • Ist relative einfach :)


    das Objekt was du dem Template übergibst als entry ist von der Klasse ViewableGuestbookEntry sieh hier
    dort erstellst du das Objekt mit der Klasse


    Code
    WCF::getTPL()->assign(array(
     'entry' => new ViewableGuestbookEntry($queue->getAffectedObject())
     ));


    Um genau zu sein
    new ViewableGuestbookEntry(...)