J'ai le code suivant:
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', '' ) );
}
}
}
Ce code est utilisé comme plugin pour changer le modèle pour l'utilisateur actuel. Ils cliquent sur un lien qui contient le paramètre GET
template=mytemplate
Et le modèle est enregistré dans la session de l'utilisateur et s'affiche.
J'ai changé:
$template = $input->getCmd( 'template', '' );
à
$template = JRequest::getVar('template');
Mais j'ai un site Joomla 1.5 qui ne supporte pas ce qui suit:
$input = JFactory::getApplication()->input;
J'ai eu une erreur quand essayez de définir $input->set()
.
Tout le monde peut m'aider à porter ce code en version 1.5?
Pour définir quelque chose sur Joomla 1.5, vous devrez utiliser setVar
, comme suit:
$template = JRequest::getVar('template');
JRequest::setVar('template', $template);
Disclaimer:
Joomla 1.5 est extrêmement ancien et n'est plus officiellement supporté. Vous trouverez également des personnes ici moins disposées à vous soutenir. Veuillez envisager de migrer votre site Web vers la dernière version de Joomla, principalement pour des raisons de sécurité.