2013-02-11 10 views

risposta

66

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; 
+3

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; –

+0

Intendi istanziare. Non inizializzare. – Matth3w

+1

@ Tom Tomlin Ho avuto un problema simile che ora è risolto –

Problemi correlati