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 GET
template=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?
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.