Come risulta, l'autore ha mancato una correzione molto semplice e una buona pratica generale che dovrebbe sempre inizializzare l'oggetto prima di provare a impostare una proprietà. La semplice soluzione per questo è semplicemente aggiungere una chiamata new StdClass;
subito prima dell'errore con la variabile a cui sta tentando di accedere.
$items[$i] = new StdClass;
$items[$i]->title = $crs_post_title;
Questa prima riga corregge l'avviso.
Questo risolve anche il problema in /components/com_community/models/activities.php on line 387
con la seguente correzione.
$commentsResult[$comment->type . '-' . $comment->contentid] = new StdClass;
$commentsResult[$comment->type . '-' . $comment->contentid]->_comment_count = 0;
fonte
2013-02-11 06:25:48
Se non si conosce l'intero codice, è preferibile aggiungere un condizionale alla linea di creazione, poiché l'avviso potrebbe essere circostanziale. Ad esempio: if (! Is_object ($ items [$ i])) {$ items [$ i] = new stdClass;} $ articoli [$ i] -> title = $ crs_post_title; –
Intendi istanziare. Non inizializzare. – Matth3w
@ Tom Tomlin Ho avuto un problema simile che ora è risolto –