Errori con Joomla e aggiornamenti plugin

Errori Joomla, K2 e Joomlavi

Print Friendly, PDF & Email

Errore: 0 Call to undefined metod K2HelperHTML::loadjQuery()

e

Errore: 500 JHtmlJquery::token not found

Uno dei migliori software per gestire blog con Joomla è sicuramente K2, che esiste da molto tempo e possiede ricche funzionalità.
La situazione che sto per raccontare, è accaduta mentre lavoravo con un template di JoomlaVi (joomlavi.com, non più esistente), una società che è sparita all’improvviso, non consentendo più possibilità di supporto tecnico.
Ho potuto riscontrare che sul web sono ancora parecchi gli utilizzatori di prodotti di JoomlaVi, come del suo framework, e molte sono anche segnalazioni dei due errori che ho riportato nel titolo, e di cui vi presenterò le soluzioni.

Dopo avere effettuato l’aggiornamento alla versione 2.8 di K2, anche avendo l’ultima versione di Joomla, che attualmente è la 3.8.11, può accadere qualche problema alla visualizzazione dei pannelli dei moduli.
In altre parole può succedere, come nel mio caso, che entrando in qualunque modulo di Joomla, sparisca tutta la barra in alto dei bottoni del tipo “salva”, “salva e chiudi”, “chiudi”, “salva come copia”, ecc., ed altri elementi visuali. L’unico modo per uscire da questa situazione è quello di tornare alla pagina precedente coll’apposito pulsante del browser.
Un’altra caratteristica di questa situazione è che una volta tornati indietro, il modulo che si sta visitando diventa “bloccato”, in altre parole appare la tipica icona grigia col lucchetto.
L’unica descrizione di errore disponibile, appare nella linguetta del browser, quando siete all’interno di un modulo qualunque, con i sintomi appena descritti, e la dicitura precisa è la seguente:

Errore: 0 Call to undefined metod K2HelperHTML::loadjQuery()

Considerando che la versione di K2 è la 2.8 se visualizziamo la seguente cartella del nostro sito:

administrator/components/com_k2/elements/

possiamo notare la presenza di un file di nome “items.php”. Ma questo è molto strano, poiché tale versione di K2 non contiene questo file. Evidentemente, durante l’aggiornamento, non è stato cancellato come dovuto, e infatti se procediamo alla cancellazione del file in questione (dopo averne eventualmente fatta copia di sicurezza), il pannello interno dei moduli di Joomla ritorna a funzionare correttamente, con tutti i pulsanti che prima mancavano.

Quello appena descritto era il problema n.1, forse il più comune.
Passiamo ora al secondo possibile problema che ho trovato in giro per la rete, legato, questa volta, più strettamente ai software di Joomlavi.
Il problema consiste sempre nella sparizione della solita barra in alto di Joomla con i pulsanti “salva”, “chiudi”, ecc., ma questa barra scompare “solo” nel pannello Global Configuration. Anche in questo caso, l’unico errore che appare, è contenuto nella linguetta della pagina del browser, e nello specifico riporta quanto segue:

Errore: 500 JHtmlJquery::token not found

In questo secondo caso, dovete andare a trovare questo file PHP nelle cartelle del vostro sito:

plugins/system/jvlibs/javascripts/jvjslib.php

e rimuovere da esso la seguente porzione di codice, che si trova nella parte finale:

abstract class JHtmlJquery { /** * @var array Array containing information for loaded files * @since 3.0 */ protected static $loaded = array(); /** * Method to load the jQuery JavaScript framework into the document head * * If debugging mode is on an uncompressed version of jQuery is included for easier debugging. * * @param boolean $noConflict True to load jQuery in noConflict mode [optional] * @param mixed $debug Is debugging mode on? [optional] * * @return void * * @since 3.0 */ public static function framework($noConflict = true, $debug = null) { JVJSLib::add('jquery'); return; } /** * Method to load the jQuery UI JavaScript framework into the document head * * If debugging mode is on an uncompressed version of jQuery UI is included for easier debugging. * * @param array $components The jQuery UI components to load [optional] * @param mixed $debug Is debugging mode on? [optional] * * @return void * * @since 3.0 */ public static function ui(array $components = array('core'), $debug = null) { JVJSLib::add('jquery.ui.interactions'); return; } }

State naturalmente molto attenti a non cancellare il punto interrogativo e il segno di “maggiore” alla fine del file, ovvero “?>”, esclusi i doppi apici, né a modificarlo in alcun modo, altrimenti il codice PHP non funzionerà più.

Questo è tutto, spero di essere stato d’aiuto per quanti non trovavano soluzione a questi problemi.

 

Print Friendly, PDF & Email