it-swarm.com.de

Was in Joomla 1.5 anstelle von Jinput verwenden?

Ich habe folgenden Code:

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', '' ) );
                }
            }
    }

Dieser Code wird als Plugin verwendet, um die Vorlage für den aktuellen Benutzer zu ändern. Sie klicken auf einen Link, der den GET -Parameter template=mytemplate Enthält, und die Vorlage wird in der Benutzersitzung gespeichert und angezeigt.

Ich habe mich verändert:

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

zu

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

Ich besitze jedoch eine Joomla 1.5-Site, die Folgendes nicht unterstützt:

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

Beim Versuch, $input->set() zu setzen, ist ein Fehler aufgetreten.

Kann mir jemand helfen, diesen Code auf Version 1.5 zu portieren?

1
Dimm

Um etwas in Joomla 1.5 einzustellen, müssen Sie setVar verwenden, wie folgt:

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

Haftungsausschluss:

Joomla 1.5 ist extrem alt und wird offiziell nicht mehr unterstützt. Sie werden auch Leute hier finden, die weniger bereit sind, Sie zu unterstützen. Bitte ziehen Sie in Betracht, Ihre Website auf die neueste Version von Joomla zu migrieren, hauptsächlich aus Sicherheitsgründen.

2
Lodder