it-swarm-eu.dev

Cosa usare al posto di Jinput in Joomla 1.5?

Ho il codice seguente:

defined( '_JEXEC' ) or die;

class plgSystemTemplateSwitcher extends JPlugin
    {
        function onAfterInitialise()
            {
                $input = JFactory::getApplication()->input;
                $session = JFactory::getSession();
                $template = $input->getCmd( 'template', '' );
                if ( $template !== '' ) {
                $session->set( 'templateChanged', $template );
                }
                if ( $session->get( 'templateChanged', '' )!== '' ) {
                $input->set( 'template', $session->get( 'templateChanged', '' ) );
                }
            }
    }

Questo codice viene utilizzato come plug-in per modificare il modello per l'utente corrente. Fanno clic su un collegamento che contiene il parametro GETtemplate=mytemplate E il modello viene salvato nella sessione utente e viene visualizzato.

Ho cambiato:

$template = $input->getCmd( 'template', '' );

a

$template = JRequest::getVar('template');

Ma ho un sito Joomla 1.5 che non supporta i seguenti:

$input = JFactory::getApplication()->input; 

Si è verificato un errore durante il tentativo di impostare $input->set().

Qualcuno può aiutarmi a portare questo codice alla versione 1.5?

1
Dimm

Per impostare qualcosa su Joomla 1.5, dovrai usare setVar, in questo modo:

$template = JRequest::getVar('template');
JRequest::setVar('template', $template); 

Disclaimer:

Joomla 1.5 è estremamente vecchio e non è più ufficialmente supportato. Qui troverai anche persone meno disposte a sostenerti. Ti preghiamo di considerare la migrazione del tuo sito Web all'ultima versione di Joomla, principalmente per motivi di sicurezza.

2
Lodder