Jak się okazało, autor pominął bardzo prostą poprawkę i ogólną dobrą praktykę, że zawsze powinieneś zainicjować obiekt przed próbą ustawienia właściwości. Bardzo prostym rozwiązaniem jest po prostu dodanie wywołania new StdClass;
tuż przed błędem ze zmienną, do której próbuje uzyskać dostęp.
$items[$i] = new StdClass;
$items[$i]->title = $crs_post_title;
Pierwsza linia usunie ostrzeżenie z pokazania.
Naprawiłoby to również problem w /components/com_community/models/activities.php on line 387
z następującą poprawką.
$commentsResult[$comment->type . '-' . $comment->contentid] = new StdClass;
$commentsResult[$comment->type . '-' . $comment->contentid]->_comment_count = 0;
Jeśli nie znasz całego kodu, lepiej dodać warunkowe do linii tworzenia, ponieważ ostrzeżenie może być poszlakowe. Na przykład: if (! Is_object ($ items [$ i])) {$ items [$ i] = new stdClass;} $ items [$ i] -> title = $ crs_post_title; –
Masz na myśli instancję. Nie zainicjuj. – Matth3w
@ Mark Tomlin Miałem podobny problem, który jest teraz rozwiązany –